Распечатка 4.6 Функция init_dummy_mips_mtd_bsp

Предыдущая  Содержание  Следующая V*D*V

Распечатка 4.6

 

int __init init_dummy_mips_mtd_bsp (void)

{

 

  /* Сначала проверяем загрузочную флеш-память */

  dummy_mips_map[0].virt =

    (unsigned long)ioremap(

                   dummy_mips_map[0].phys,dummy_mips_map[0].size);

  simple_map_init(&dummy_mips_map[0]);

  mymtd[0] = do_map_probe("cfi_probe", &dummy_mips_map[0]);

  if(mymtd[0])

    mymtd[0]->owner = THIS_MODULE;

 

  /* Повторяем для второй флеш-памяти */

  dummy_mips_map[1].virt =

    (unsigned long)ioremap(dummy_mips_map[1].phys,

                           dummy_mips_map[1].size);

  simple_map_init(&dummy_mips_map[1]);

  mymtd[1] = do_map_probe("cfi_probe", &dummy_mips_map[1]);

  if(mymtd[1])

    mymtd[1]->owner = THIS_MODULE;

  if (!mymtd[0] || !mymtd[1])

    return -ENXIO;

 

  /*

   * Теперь делим загрузочную флеш-память. Мы заинтересованы в

   * новом объекте mtd для второго раздела, так как мы будем

   * объединять его с другой флеш-памятью.

   */

  boot_flash_partitions[1].mtdp = &concat_partitions[0];

  add_mtd_partitions(mymtd[0], boot_flash_partitions, 2);

 

  /*

   * concat_partitions[1] должен содержать указатель mtd_info

   * для 2-го раздела. Выполняем объединение

   */

  concat_partitions[1] = mymtd[1];

  concat_mtd = mtd_concat_create(concat_partitions, 2,

                                 "JFFS2 flash concatenate");

  if(concat_mtd)

    add_mtd_device(concat_mtd);

  return 0;

}

 

Предыдущая  Содержание  Следующая