Message ID | 1301578692-29286-1-git-send-email-ameya.palande@nokia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Felipe, On 03/31/2011 06:44 PM, ext Felipe Balbi wrote: > On Thu, Mar 31, 2011 at 06:30:32PM +0300, Ameya Palande wrote: >> Hi Felipe, >> >> On 03/31/2011 05:26 PM, ext Felipe Balbi wrote: >>> Hi, >>> >>> On Thu, Mar 31, 2011 at 04:38:12PM +0300, Ameya Palande wrote: >>>> +static int rx51_lp5523_setup(void) >>>> +{ >>>> + int err; >>>> + >>>> + err = gpio_request_one(RX51_LP5523_CHIP_EN_GPIO, GPIOF_DIR_OUT, >>>> + "lp5523_enable"); >>>> + if (err< 0) { >>>> + pr_err("Unable to get lp5523_enable GPIO\n"); >>>> + return err; >>>> + } >>>> + >>>> + return err; >>> >>> isn't enough to return gpio_request_one(RX51_LP5523_CHIP_EN_GPIO, >>> GPIOF_DIR_OUT, "lp5523_enable"); ?? >> >> But then we won't know the failure reason for lp5523_probe() >> I would prefer printing an error! > > see that both gpio_request() and gpio_direction_output() have debugging > prints for error cases ;-) Any comments about the version 3 of this patch? Cheers, Ameya. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Apr 05, 2011 at 03:00:11PM +0300, Ameya Palande wrote: > Hi Felipe, > > On 03/31/2011 06:44 PM, ext Felipe Balbi wrote: > >On Thu, Mar 31, 2011 at 06:30:32PM +0300, Ameya Palande wrote: > >>Hi Felipe, > >> > >>On 03/31/2011 05:26 PM, ext Felipe Balbi wrote: > >>>Hi, > >>> > >>>On Thu, Mar 31, 2011 at 04:38:12PM +0300, Ameya Palande wrote: > >>>>+static int rx51_lp5523_setup(void) > >>>>+{ > >>>>+ int err; > >>>>+ > >>>>+ err = gpio_request_one(RX51_LP5523_CHIP_EN_GPIO, GPIOF_DIR_OUT, > >>>>+ "lp5523_enable"); > >>>>+ if (err< 0) { > >>>>+ pr_err("Unable to get lp5523_enable GPIO\n"); > >>>>+ return err; > >>>>+ } > >>>>+ > >>>>+ return err; > >>> > >>>isn't enough to return gpio_request_one(RX51_LP5523_CHIP_EN_GPIO, > >>>GPIOF_DIR_OUT, "lp5523_enable"); ?? > >> > >>But then we won't know the failure reason for lp5523_probe() > >>I would prefer printing an error! > > > >see that both gpio_request() and gpio_direction_output() have debugging > >prints for error cases ;-) > > Any comments about the version 3 of this patch? looks good to me. Replied with my Reviewed-by tag.
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index bbcb677..ed289d1 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c @@ -38,6 +38,7 @@ #include <sound/tpa6130a2-plat.h> #include <media/radio-si4713.h> #include <media/si4713.h> +#include <linux/leds-lp5523.h> #include <../drivers/staging/iio/light/tsl2563.h> @@ -51,6 +52,7 @@ #define RX51_WL1251_IRQ_GPIO 42 #define RX51_FMTX_RESET_GPIO 163 #define RX51_FMTX_IRQ 53 +#define RX51_LP5523_CHIP_EN_GPIO 41 /* list all spi devices here */ enum { @@ -67,6 +69,72 @@ static struct tsl2563_platform_data rx51_tsl2563_platform_data = { }; #endif +#if defined(CONFIG_LEDS_LP5523) || defined(CONFIG_LEDS_LP5523_MODULE) +static struct lp5523_led_config rx51_lp5523_led_config[] = { + { + .chan_nr = 0, + .led_current = 50, + }, { + .chan_nr = 1, + .led_current = 50, + }, { + .chan_nr = 2, + .led_current = 50, + }, { + .chan_nr = 3, + .led_current = 50, + }, { + .chan_nr = 4, + .led_current = 50, + }, { + .chan_nr = 5, + .led_current = 50, + }, { + .chan_nr = 6, + .led_current = 50, + }, { + .chan_nr = 7, + .led_current = 50, + }, { + .chan_nr = 8, + .led_current = 50, + } +}; + +static int rx51_lp5523_setup(void) +{ + int err; + + err = gpio_request_one(RX51_LP5523_CHIP_EN_GPIO, GPIOF_DIR_OUT, + "lp5523_enable"); + if (err < 0) { + pr_err("Unable to get lp5523_enable GPIO\n"); + return err; + } + + return err; +} + +static void rx51_lp5523_release(void) +{ + gpio_free(RX51_LP5523_CHIP_EN_GPIO); +} + +static void rx51_lp5523_enable(bool state) +{ + gpio_set_value(RX51_LP5523_CHIP_EN_GPIO, !!state); +} + +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 +884,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,