@@ -315,9 +315,7 @@ static inline int omap2_onenand_dma_transfer(struct omap2_onenand *c,
315
315
return 0 ;
316
316
}
317
317
318
- #if defined(CONFIG_ARCH_OMAP3 ) || defined(MULTI_OMAP2 )
319
-
320
- static int omap3_onenand_read_bufferram (struct mtd_info * mtd , int area ,
318
+ static int omap2_onenand_read_bufferram (struct mtd_info * mtd , int area ,
321
319
unsigned char * buffer , int offset ,
322
320
size_t count )
323
321
{
@@ -379,7 +377,7 @@ static int omap3_onenand_read_bufferram(struct mtd_info *mtd, int area,
379
377
return 0 ;
380
378
}
381
379
382
- static int omap3_onenand_write_bufferram (struct mtd_info * mtd , int area ,
380
+ static int omap2_onenand_write_bufferram (struct mtd_info * mtd , int area ,
383
381
const unsigned char * buffer ,
384
382
int offset , size_t count )
385
383
{
@@ -434,120 +432,6 @@ static int omap3_onenand_write_bufferram(struct mtd_info *mtd, int area,
434
432
return 0 ;
435
433
}
436
434
437
- #else
438
-
439
- static int omap3_onenand_read_bufferram (struct mtd_info * mtd , int area ,
440
- unsigned char * buffer , int offset ,
441
- size_t count )
442
- {
443
- return - ENOSYS ;
444
- }
445
-
446
- static int omap3_onenand_write_bufferram (struct mtd_info * mtd , int area ,
447
- const unsigned char * buffer ,
448
- int offset , size_t count )
449
- {
450
- return - ENOSYS ;
451
- }
452
-
453
- #endif
454
-
455
- #if defined(CONFIG_ARCH_OMAP2 ) || defined(MULTI_OMAP2 )
456
-
457
- static int omap2_onenand_read_bufferram (struct mtd_info * mtd , int area ,
458
- unsigned char * buffer , int offset ,
459
- size_t count )
460
- {
461
- struct omap2_onenand * c = container_of (mtd , struct omap2_onenand , mtd );
462
- struct onenand_chip * this = mtd -> priv ;
463
- dma_addr_t dma_src , dma_dst ;
464
- int bram_offset , ret ;
465
-
466
- bram_offset = omap2_onenand_bufferram_offset (mtd , area ) + area + offset ;
467
- /* DMA is not used. Revisit PM requirements before enabling it. */
468
- if (1 || (c -> dma_channel < 0 ) ||
469
- ((void * ) buffer >= (void * ) high_memory ) || (bram_offset & 3 ) ||
470
- (((unsigned int ) buffer ) & 3 ) || (count < 1024 ) || (count & 3 )) {
471
- memcpy (buffer , (__force void * )(this -> base + bram_offset ),
472
- count );
473
- return 0 ;
474
- }
475
-
476
- dma_src = c -> phys_base + bram_offset ;
477
- dma_dst = dma_map_single (& c -> pdev -> dev , buffer , count ,
478
- DMA_FROM_DEVICE );
479
- if (dma_mapping_error (& c -> pdev -> dev , dma_dst )) {
480
- dev_err (& c -> pdev -> dev ,
481
- "Couldn't DMA map a %d byte buffer\n" ,
482
- count );
483
- return -1 ;
484
- }
485
-
486
- ret = omap2_onenand_dma_transfer (c , dma_src , dma_dst , count );
487
- dma_unmap_single (& c -> pdev -> dev , dma_dst , count , DMA_FROM_DEVICE );
488
-
489
- if (ret )
490
- dev_err (& c -> pdev -> dev , "timeout waiting for DMA\n" );
491
-
492
- return ret ;
493
- }
494
-
495
- static int omap2_onenand_write_bufferram (struct mtd_info * mtd , int area ,
496
- const unsigned char * buffer ,
497
- int offset , size_t count )
498
- {
499
- struct omap2_onenand * c = container_of (mtd , struct omap2_onenand , mtd );
500
- struct onenand_chip * this = mtd -> priv ;
501
- dma_addr_t dma_src , dma_dst ;
502
- int bram_offset , ret ;
503
-
504
- bram_offset = omap2_onenand_bufferram_offset (mtd , area ) + area + offset ;
505
- /* DMA is not used. Revisit PM requirements before enabling it. */
506
- if (1 || (c -> dma_channel < 0 ) ||
507
- ((void * ) buffer >= (void * ) high_memory ) || (bram_offset & 3 ) ||
508
- (((unsigned int ) buffer ) & 3 ) || (count < 1024 ) || (count & 3 )) {
509
- memcpy ((__force void * )(this -> base + bram_offset ), buffer ,
510
- count );
511
- return 0 ;
512
- }
513
-
514
- dma_src = dma_map_single (& c -> pdev -> dev , (void * ) buffer , count ,
515
- DMA_TO_DEVICE );
516
- dma_dst = c -> phys_base + bram_offset ;
517
- if (dma_mapping_error (& c -> pdev -> dev , dma_src )) {
518
- dev_err (& c -> pdev -> dev ,
519
- "Couldn't DMA map a %d byte buffer\n" ,
520
- count );
521
- return -1 ;
522
- }
523
-
524
- ret = omap2_onenand_dma_transfer (c , dma_src , dma_dst , count );
525
- dma_unmap_single (& c -> pdev -> dev , dma_src , count , DMA_TO_DEVICE );
526
-
527
- if (ret )
528
- dev_err (& c -> pdev -> dev , "timeout waiting for DMA\n" );
529
-
530
- return ret ;
531
- }
532
-
533
- #else
534
-
535
- static int omap2_onenand_read_bufferram (struct mtd_info * mtd , int area ,
536
- unsigned char * buffer , int offset ,
537
- size_t count )
538
- {
539
- return - ENOSYS ;
540
- }
541
-
542
- static int omap2_onenand_write_bufferram (struct mtd_info * mtd , int area ,
543
- const unsigned char * buffer ,
544
- int offset , size_t count )
545
- {
546
- return - ENOSYS ;
547
- }
548
-
549
- #endif
550
-
551
435
static struct platform_driver omap2_onenand_driver ;
552
436
553
437
static void omap2_onenand_shutdown (struct platform_device * pdev )
@@ -671,13 +555,8 @@ static int omap2_onenand_probe(struct platform_device *pdev)
671
555
this = & c -> onenand ;
672
556
if (c -> dma_channel >= 0 ) {
673
557
this -> wait = omap2_onenand_wait ;
674
- if (c -> flags & ONENAND_IN_OMAP34XX ) {
675
- this -> read_bufferram = omap3_onenand_read_bufferram ;
676
- this -> write_bufferram = omap3_onenand_write_bufferram ;
677
- } else {
678
- this -> read_bufferram = omap2_onenand_read_bufferram ;
679
- this -> write_bufferram = omap2_onenand_write_bufferram ;
680
- }
558
+ this -> read_bufferram = omap2_onenand_read_bufferram ;
559
+ this -> write_bufferram = omap2_onenand_write_bufferram ;
681
560
}
682
561
683
562
if ((r = onenand_scan (& c -> mtd , 1 )) < 0 )
0 commit comments