Re: [PATCH 1/1] leds: Add LED driver for lm3556 chip
From: Andrew Morton
Date: Fri Mar 30 2012 - 14:41:23 EST
On Fri, 30 Mar 2012 15:38:28 +0900
Geon Si Jeong <gshark.jeong@xxxxxxxxx> wrote:
> It is a simple driver for LM3556 Chip(Texas Instruments)
> LM3556 :
> The LM3556 is a 4 MHz fixed-frequency synchronous boost
> converter plus 1.5A constant current driver for a high-current white LED.
> Datasheet: www.national.com/ds/LM/LM3556.pdf
It needs this to build on x86_64:
--- a/drivers/leds/leds-lm3556.c~leds-add-led-driver-for-lm3556-chip-fix-2
+++ a/drivers/leds/leds-lm3556.c
@@ -11,6 +11,7 @@
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/leds.h>
+#include <linux/module.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/types.h>
And here are some fixes for problems which were detected by checkpatch.
Please use checkpatch. Please review and test this change:
--- a/drivers/leds/leds-lm3556.c~leds-add-led-driver-for-lm3556-chip-checkpatch-fixes
+++ a/drivers/leds/leds-lm3556.c
@@ -141,7 +141,7 @@ static struct indicator indicator_patter
};
/* i2c access*/
-int lm3556_read_reg(struct i2c_client *client, u8 reg, u8 * val)
+int lm3556_read_reg(struct i2c_client *client, u8 reg, u8 *val)
{
int ret;
struct lm3556_chip_data *chip = i2c_get_clientdata(client);
@@ -317,12 +317,15 @@ static ssize_t lm3556_indicator_pattern_
const char *buf, size_t size)
{
char *after;
- ssize_t ret = -EINVAL;
+ ssize_t ret;
struct i2c_client *client = container_of(dev->parent,
struct i2c_client, dev);
- unsigned long state = simple_strtoul(buf, &after, 10);
+ unsigned long state;
size_t count = after - buf;
+ ret = kstrtoul(buf, 10, &state);
+ if (ret)
+ goto out;
if (isspace(*after))
count++;
@@ -336,6 +339,7 @@ static ssize_t lm3556_indicator_pattern_
lm3556_write_reg(client, REG_INDIC_PERIOD,
indicator_pattern[state].period_cnt);
}
+out:
return ret;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/