[U-Boot] [PATCH] power: twl6035: cleanup register access API
Balaji T K
balajitk at ti.com
Wed Mar 13 07:54:10 CET 2013
Hi,
On Wednesday 13 March 2013 02:09 AM, Nishanth Menon wrote:
> commit 21144298 (power: twl6035: add palmas PMIC support)
> introduced twl6035_i2c_[read|write]_u8
> Then, commit dd23e59d (omap5: pbias ldo9 turn on)
> introduced palmas_[read|write]_u8
> for precisely the same access function. TWL6035 belongs to
> the palmas family, so instead of having an palmas API,
> we could use twl6035 API instead (which is used elsewhere
> as well).
can you provide reference where twl6035 API is used ?
>
> Account for the parameter change while doing the change and
> remove palmas register accessors.
That is the reason ("parameter change") for introducing
palmas_write/read_u8 :-)
I think twl6035_i2c_read/write_u8 should have parameter
reg address and value interchanged or should get completely removed.
twl6035_i2c_read/write_u8 is based on legacy implementation
of twl6030/twl4030.
>
> Cc: Balaji T K <balajitk at ti.com>
> Cc: Sricharan R <r.sricharan at ti.com>
> Reported-by: Ruchika Kharwar <ruchika at ti.com>
> Signed-off-by: Nishanth Menon <nm at ti.com>
> ---
> drivers/power/twl6035.c | 15 ++-------------
> 1 file changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/power/twl6035.c b/drivers/power/twl6035.c
> index d3de698..b0b2406 100644
> --- a/drivers/power/twl6035.c
> +++ b/drivers/power/twl6035.c
> @@ -34,17 +34,6 @@ int twl6035_i2c_read_u8(u8 chip_no, u8 *val, u8 reg)
> return i2c_read(chip_no, reg, 1, val, 1);
> }
>
> -/* To align with i2c mw/mr address, reg, val command syntax */
> -static inline int palmas_write_u8(u8 chip_no, u8 reg, u8 val)
Please note the reg address, val order with i2c_write API.
It aligns with i2c mw/mr command @ u-boot cmd line,
with kernel APIs, i2cget, i2cset utilities.
It don't see a reason why twl6035_i2c_read/write_u8
should have parameters interchanged.
Thanks and Regards
Balaji T K
> -{
> - return i2c_write(chip_no, reg, 1, &val, 1);
> -}
> -
> -static inline int palmas_read_u8(u8 chip_no, u8 reg, u8 *val)
> -{
> - return i2c_read(chip_no, reg, 1, val, 1);
> -}
> -
> void twl6035_init_settings(void)
> {
> return;
> @@ -57,7 +46,7 @@ int twl6035_mmc1_poweron_ldo(void)
> /* set LDO9 TWL6035 to 3V */
> val = 0x2b; /* (3 -.9)*28 +1 */
>
> - if (palmas_write_u8(0x48, LDO9_VOLTAGE, val)) {
> + if (twl6035_i2c_write_u8(0x48, val, LDO9_VOLTAGE)) {
> printf("twl6035: could not set LDO9 voltage.\n");
> return 1;
> }
> @@ -65,7 +54,7 @@ int twl6035_mmc1_poweron_ldo(void)
> /* TURN ON LDO9 */
> val = LDO_ON | LDO_MODE_SLEEP | LDO_MODE_ACTIVE;
>
> - if (palmas_write_u8(0x48, LDO9_CTRL, val)) {
> + if (twl6035_i2c_write_u8(0x48, val, LDO9_CTRL)) {
> printf("twl6035: could not turn on LDO9.\n");
> return 1;
> }
>
More information about the U-Boot
mailing list