[PATCH] omap: rx51: Platform support for lp5523 led chip
From: Aaro Koskinen <hidden>
Date: 2011-03-31 12:27:36
Also in:
linux-omap
Hi, On Thu, 31 Mar 2011, Ameya Palande wrote:
+static int rx51_lp5523_setup(void)
+{
+ int err;
+
+ err = gpio_request(RX51_LP5523_CHIP_EN_GPIO, "lp5523_enable");
+ if (err < 0) {
+ pr_err("Unable to get lp5523_enable GPIO\n");
+ return err;
+ }
+
+ err = gpio_direction_output(RX51_LP5523_CHIP_EN_GPIO, 1);
+ if (err < 0) {
+ pr_err("Failed to change direction for %d GPIO\n",
+ RX51_LP5523_CHIP_EN_GPIO);The error branch is missing gpio_free(). You can fix that by replacing these with just a single gpio_request_one() call.
quoted hunk ↗ jump to hunk
+ } + return err; +} + +static void rx51_lp5523_release(void) +{ + gpio_free(RX51_LP5523_CHIP_EN_GPIO); +} + +static void rx51_lp5523_enable(bool state) +{ + if (state) + gpio_set_value(RX51_LP5523_CHIP_EN_GPIO, 1); + else + gpio_set_value(RX51_LP5523_CHIP_EN_GPIO, 0); +} + +static struct lp5523_platform_data rx51_lp5523_platform_data = { + .led_config = rx51_lp5523_led_config, + .num_channels = ARRAY_SIZE(rx51_lp5523_led_config), + .clock_mode = LP5523_CLOCK_AUTO, + .setup_resources = rx51_lp5523_setup, + .release_resources = rx51_lp5523_release, + .enable = rx51_lp5523_enable, +}; +#endif + static struct omap2_mcspi_device_config wl1251_mcspi_config = { .turbo_mode = 0, .single_channel = 1,@@ -816,6 +891,12 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {.platform_data = &rx51_tsl2563_platform_data, }, #endif +#if defined(CONFIG_LEDS_LP5523) || defined(CONFIG_LEDS_LP5523_MODULE) + { + I2C_BOARD_INFO("lp5523", 0x32), + .platform_data = &rx51_lp5523_platform_data, + }, +#endif { I2C_BOARD_INFO("tpa6130a2", 0x60), .platform_data = &rx51_tpa6130a2_data, -- 1.7.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel