Merge tag 'davinci-for-v5.3/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/soc
This pull request has a patch to switch DA850 EVM GPIO LED support to use GPIO lookup table * tag 'davinci-for-v5.3/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: Use GPIO lookup table for DA850 LEDs Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
@@ -631,13 +631,12 @@ static void da850_evm_bb_keys_init(unsigned gpio)
|
||||
}
|
||||
}
|
||||
|
||||
#define DA850_N_BB_USER_LED 2
|
||||
|
||||
static struct gpio_led da850_evm_bb_leds[] = {
|
||||
[0 ... DA850_N_BB_USER_LED - 1] = {
|
||||
.active_low = 1,
|
||||
.gpio = -1, /* assigned at runtime */
|
||||
.name = NULL, /* assigned at runtime */
|
||||
{
|
||||
.name = "user_led2",
|
||||
},
|
||||
{
|
||||
.name = "user_led1",
|
||||
},
|
||||
};
|
||||
|
||||
@@ -646,6 +645,20 @@ static struct gpio_led_platform_data da850_evm_bb_leds_pdata = {
|
||||
.num_leds = ARRAY_SIZE(da850_evm_bb_leds),
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table da850_evm_bb_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("i2c-bb-expander",
|
||||
DA850_EVM_BB_EXP_USER_LED2, NULL,
|
||||
0, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("i2c-bb-expander",
|
||||
DA850_EVM_BB_EXP_USER_LED2 + 1, NULL,
|
||||
1, GPIO_ACTIVE_LOW),
|
||||
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device da850_evm_bb_leds_device = {
|
||||
.name = "leds-gpio",
|
||||
.id = -1,
|
||||
@@ -654,20 +667,6 @@ static struct platform_device da850_evm_bb_leds_device = {
|
||||
}
|
||||
};
|
||||
|
||||
static void da850_evm_bb_leds_init(unsigned gpio)
|
||||
{
|
||||
int i;
|
||||
struct gpio_led *led;
|
||||
|
||||
for (i = 0; i < DA850_N_BB_USER_LED; i++) {
|
||||
led = &da850_evm_bb_leds[i];
|
||||
|
||||
led->gpio = gpio + DA850_EVM_BB_EXP_USER_LED2 + i;
|
||||
led->name =
|
||||
da850_evm_bb_exp[DA850_EVM_BB_EXP_USER_LED2 + i];
|
||||
}
|
||||
}
|
||||
|
||||
static int da850_evm_bb_expander_setup(struct i2c_client *client,
|
||||
unsigned gpio, unsigned ngpio,
|
||||
void *c)
|
||||
@@ -685,7 +684,7 @@ static int da850_evm_bb_expander_setup(struct i2c_client *client,
|
||||
goto io_exp_setup_sw_fail;
|
||||
}
|
||||
|
||||
da850_evm_bb_leds_init(gpio);
|
||||
gpiod_add_lookup_table(&da850_evm_bb_leds_gpio_table);
|
||||
ret = platform_device_register(&da850_evm_bb_leds_device);
|
||||
if (ret) {
|
||||
pr_warn("Could not register baseboard GPIO expander LEDs");
|
||||
@@ -729,10 +728,12 @@ static struct i2c_board_info __initdata da850_evm_i2c_devices[] = {
|
||||
},
|
||||
{
|
||||
I2C_BOARD_INFO("tca6416", 0x20),
|
||||
.dev_name = "ui-expander",
|
||||
.platform_data = &da850_evm_ui_expander_info,
|
||||
},
|
||||
{
|
||||
I2C_BOARD_INFO("tca6416", 0x21),
|
||||
.dev_name = "bb-expander",
|
||||
.platform_data = &da850_evm_bb_expander_info,
|
||||
},
|
||||
};
|
||||
|
Reference in New Issue
Block a user