@@ -84,7 +84,7 @@ void ASSABET_BCR_frob(unsigned int mask, unsigned int val)
84
84
}
85
85
EXPORT_SYMBOL (ASSABET_BCR_frob );
86
86
87
- static int __init assabet_init_gpio (void __iomem * reg , u32 def_val )
87
+ static void __init assabet_init_gpio (void __iomem * reg , u32 def_val )
88
88
{
89
89
struct gpio_chip * gc ;
90
90
@@ -94,11 +94,9 @@ static int __init assabet_init_gpio(void __iomem *reg, u32 def_val)
94
94
assabet_names , NULL , NULL );
95
95
96
96
if (IS_ERR (gc ))
97
- return PTR_ERR ( gc ) ;
97
+ return ;
98
98
99
99
assabet_bcr_gc = gc ;
100
-
101
- return gc -> base ;
102
100
}
103
101
104
102
/*
@@ -475,16 +473,23 @@ static struct gpiod_lookup_table assabet_cf_vcc_gpio_table = {
475
473
},
476
474
};
477
475
476
+ static struct gpiod_lookup_table assabet_leds_gpio_table = {
477
+ .dev_id = "leds-gpio" ,
478
+ .table = {
479
+ GPIO_LOOKUP ("assabet" , 13 , NULL , GPIO_ACTIVE_LOW ),
480
+ GPIO_LOOKUP ("assabet" , 14 , NULL , GPIO_ACTIVE_LOW ),
481
+ { },
482
+ },
483
+ };
484
+
478
485
static struct gpio_led assabet_leds [] __initdata = {
479
486
{
480
487
.name = "assabet:red" ,
481
488
.default_trigger = "cpu0" ,
482
- .active_low = 1 ,
483
489
.default_state = LEDS_GPIO_DEFSTATE_KEEP ,
484
490
}, {
485
491
.name = "assabet:green" ,
486
492
.default_trigger = "heartbeat" ,
487
- .active_low = 1 ,
488
493
.default_state = LEDS_GPIO_DEFSTATE_KEEP ,
489
494
},
490
495
};
@@ -603,6 +608,7 @@ static void __init assabet_init(void)
603
608
& assabet_keys_pdata ,
604
609
sizeof (assabet_keys_pdata ));
605
610
611
+ gpiod_add_lookup_table (& assabet_leds_gpio_table );
606
612
gpio_led_register_device (-1 , & assabet_leds_pdata );
607
613
608
614
#ifndef ASSABET_PAL_VIDEO
@@ -739,7 +745,6 @@ static void __init assabet_map_io(void)
739
745
740
746
void __init assabet_init_irq (void )
741
747
{
742
- unsigned int assabet_gpio_base ;
743
748
u32 def_val ;
744
749
745
750
sa1100_init_irq ();
@@ -754,10 +759,7 @@ void __init assabet_init_irq(void)
754
759
*
755
760
* This must precede any driver calls to BCR_set() or BCR_clear().
756
761
*/
757
- assabet_gpio_base = assabet_init_gpio ((void * )& ASSABET_BCR , def_val );
758
-
759
- assabet_leds [0 ].gpio = assabet_gpio_base + 13 ;
760
- assabet_leds [1 ].gpio = assabet_gpio_base + 14 ;
762
+ assabet_init_gpio ((void * )& ASSABET_BCR , def_val );
761
763
}
762
764
763
765
MACHINE_START (ASSABET , "Intel-Assabet" )
0 commit comments