mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 07:31:45 +00:00
leds-lp5521/5523: use new lp55xx common header
The LP55xx common driver provides a new header, leds-lp55xx.h. This driver enables removing duplicate code for both drivers and making coherent driver structure. LP5521 and LP5523/55231 platform data were merged into one common file. Therefore, the LP5521/5523 platform code need to be fixed. This patch has been already acked. For ux500: https://lkml.org/lkml/2012/10/11/417 Acked-by: Linus Walleij <linus.walleij@linaro.org> For omap: https://lkml.org/lkml/2012/10/11/334 Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>
This commit is contained in:
parent
79bcc10b8c
commit
df4094d24e
@ -40,7 +40,7 @@
|
||||
#include <sound/tpa6130a2-plat.h>
|
||||
#include <media/radio-si4713.h>
|
||||
#include <media/si4713.h>
|
||||
#include <linux/leds-lp5523.h>
|
||||
#include <linux/platform_data/leds-lp55xx.h>
|
||||
|
||||
#include <../drivers/staging/iio/light/tsl2563.h>
|
||||
#include <linux/lis3lv02d.h>
|
||||
@ -160,7 +160,7 @@ 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[] = {
|
||||
static struct lp55xx_led_config rx51_lp5523_led_config[] = {
|
||||
{
|
||||
.chan_nr = 0,
|
||||
.led_current = 50,
|
||||
@ -207,10 +207,10 @@ 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 = {
|
||||
static struct lp55xx_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,
|
||||
.clock_mode = LP55XX_CLOCK_AUTO,
|
||||
.setup_resources = rx51_lp5523_setup,
|
||||
.release_resources = rx51_lp5523_release,
|
||||
.enable = rx51_lp5523_enable,
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <linux/mfd/tps6105x.h>
|
||||
#include <linux/mfd/abx500/ab8500-gpio.h>
|
||||
#include <linux/mfd/abx500/ab8500-codec.h>
|
||||
#include <linux/leds-lp5521.h>
|
||||
#include <linux/platform_data/leds-lp55xx.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/smsc911x.h>
|
||||
#include <linux/gpio_keys.h>
|
||||
@ -320,7 +320,7 @@ static struct tc3589x_platform_data mop500_tc35892_data = {
|
||||
.irq_base = MOP500_EGPIO_IRQ_BASE,
|
||||
};
|
||||
|
||||
static struct lp5521_led_config lp5521_pri_led[] = {
|
||||
static struct lp55xx_led_config lp5521_pri_led[] = {
|
||||
[0] = {
|
||||
.chan_nr = 0,
|
||||
.led_current = 0x2f,
|
||||
@ -338,14 +338,14 @@ static struct lp5521_led_config lp5521_pri_led[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct lp5521_platform_data __initdata lp5521_pri_data = {
|
||||
static struct lp55xx_platform_data __initdata lp5521_pri_data = {
|
||||
.label = "lp5521_pri",
|
||||
.led_config = &lp5521_pri_led[0],
|
||||
.num_channels = 3,
|
||||
.clock_mode = LP5521_CLOCK_EXT,
|
||||
.clock_mode = LP55XX_CLOCK_EXT,
|
||||
};
|
||||
|
||||
static struct lp5521_led_config lp5521_sec_led[] = {
|
||||
static struct lp55xx_led_config lp5521_sec_led[] = {
|
||||
[0] = {
|
||||
.chan_nr = 0,
|
||||
.led_current = 0x2f,
|
||||
@ -363,11 +363,11 @@ static struct lp5521_led_config lp5521_sec_led[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct lp5521_platform_data __initdata lp5521_sec_data = {
|
||||
static struct lp55xx_platform_data __initdata lp5521_sec_data = {
|
||||
.label = "lp5521_sec",
|
||||
.led_config = &lp5521_sec_led[0],
|
||||
.num_channels = 3,
|
||||
.clock_mode = LP5521_CLOCK_EXT,
|
||||
.clock_mode = LP55XX_CLOCK_EXT,
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata mop500_i2c0_devices[] = {
|
||||
|
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* LP5521 LED chip driver.
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
*
|
||||
* Contact: Samu Onkalo <samu.p.onkalo@nokia.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_LP5521_H
|
||||
#define __LINUX_LP5521_H
|
||||
|
||||
/* See Documentation/leds/leds-lp5521.txt */
|
||||
|
||||
struct lp5521_led_config {
|
||||
char *name;
|
||||
u8 chan_nr;
|
||||
u8 led_current; /* mA x10, 0 if led is not connected */
|
||||
u8 max_current;
|
||||
};
|
||||
|
||||
struct lp5521_led_pattern {
|
||||
u8 *r;
|
||||
u8 *g;
|
||||
u8 *b;
|
||||
u8 size_r;
|
||||
u8 size_g;
|
||||
u8 size_b;
|
||||
};
|
||||
|
||||
#define LP5521_CLOCK_AUTO 0
|
||||
#define LP5521_CLOCK_INT 1
|
||||
#define LP5521_CLOCK_EXT 2
|
||||
|
||||
/* Bits in CONFIG register */
|
||||
#define LP5521_PWM_HF 0x40 /* PWM: 0 = 256Hz, 1 = 558Hz */
|
||||
#define LP5521_PWRSAVE_EN 0x20 /* 1 = Power save mode */
|
||||
#define LP5521_CP_MODE_OFF 0 /* Charge pump (CP) off */
|
||||
#define LP5521_CP_MODE_BYPASS 8 /* CP forced to bypass mode */
|
||||
#define LP5521_CP_MODE_1X5 0x10 /* CP forced to 1.5x mode */
|
||||
#define LP5521_CP_MODE_AUTO 0x18 /* Automatic mode selection */
|
||||
#define LP5521_R_TO_BATT 4 /* R out: 0 = CP, 1 = Vbat */
|
||||
#define LP5521_CLK_SRC_EXT 0 /* Ext-clk source (CLK_32K) */
|
||||
#define LP5521_CLK_INT 1 /* Internal clock */
|
||||
#define LP5521_CLK_AUTO 2 /* Automatic clock selection */
|
||||
|
||||
struct lp5521_platform_data {
|
||||
struct lp5521_led_config *led_config;
|
||||
u8 num_channels;
|
||||
u8 clock_mode;
|
||||
int (*setup_resources)(void);
|
||||
void (*release_resources)(void);
|
||||
void (*enable)(bool state);
|
||||
const char *label;
|
||||
u8 update_config;
|
||||
struct lp5521_led_pattern *patterns;
|
||||
int num_patterns;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_LP5521_H */
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* LP5523 LED Driver
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
*
|
||||
* Contact: Samu Onkalo <samu.p.onkalo@nokia.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_LP5523_H
|
||||
#define __LINUX_LP5523_H
|
||||
|
||||
/* See Documentation/leds/leds-lp5523.txt */
|
||||
|
||||
struct lp5523_led_config {
|
||||
const char *name;
|
||||
u8 chan_nr;
|
||||
u8 led_current; /* mA x10, 0 if led is not connected */
|
||||
u8 max_current;
|
||||
};
|
||||
|
||||
#define LP5523_CLOCK_AUTO 0
|
||||
#define LP5523_CLOCK_INT 1
|
||||
#define LP5523_CLOCK_EXT 2
|
||||
|
||||
struct lp5523_platform_data {
|
||||
struct lp5523_led_config *led_config;
|
||||
u8 num_channels;
|
||||
u8 clock_mode;
|
||||
int (*setup_resources)(void);
|
||||
void (*release_resources)(void);
|
||||
void (*enable)(bool state);
|
||||
const char *label;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_LP5523_H */
|
Loading…
Reference in New Issue
Block a user