Re: [PATCH] rtc: Added support for ds1672 control

From: Kumar Gala
Date: Tue Mar 28 2006 - 17:01:19 EST



On Mar 28, 2006, at 3:40 PM, Alessandro Zummo wrote:

On Tue, 28 Mar 2006 15:07:33 -0600 (CST)
Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> wrote:

is almost ok, please check my comments below:


buf[0] = DS1672_REG_CNT_BASE;
buf[1] = secs & 0x000000FF;
buf[2] = (secs & 0x0000FF00) >> 8;
buf[3] = (secs & 0x00FF0000) >> 16;
buf[4] = (secs & 0xFF000000) >> 24;
+ buf[5] = 0;

I'd add a comment to say that 0 enables the osc.

ack.

+static int ds1672_get_control(struct i2c_client *client)
+{

[..]

+ } else
+ return val;
+}

I think it would be cleaner to define the routine as follow:
.. ds1672_get_control(...., unsigned char *status)

and to usa the space provided by the caller to store the result.

+ if (ds1672_get_control(client))
+ state = "disabled";
+ return sprintf(buf, "%s\n", state);
+}

Not sure if I follow you here. I think you are suggesting for ds1672_get_control to look like:

static int ds1672_get_control(struct i2c_client *client, u8 *status)
{
unsigned char addr = DS1672_REG_CONTROL;

struct i2c_msg msgs[] = {
{ client->addr, 0, 1, &addr }, /* setup read ptr */
{ client->addr, I2C_M_RD, 1, status }, /* read control */
};
...
}

which is fine. Any suggestions on what to do on an error in the sysfs attrib function?

please #define DS1672_REG_CONTROL_EOSC 0x80
and check the single bit.

ack

+ err = ds1672_get_control(client);

ditto.


thanks for your work!

no problem.

- k
-
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/