Thread (1 message) 1 message, 1 author, 2015-07-01

Re: [RFC 2/3] i2c: mux: demux-pinctrl: add driver

From: Wolfram Sang <hidden>
Date: 2015-07-01 10:07:08
Also in: linux-arm-kernel, linux-i2c, linux-sh

Possibly related (same subject, not in this thread)

quoted
+Changing I2C controllers:
+
+The created mux-device will have a file "cur_master" in its sysfs-entry. Write
+0 there for the first master listed in the "i2c-parent" property, 1 for the
+second etc. Reading the file will give you a list with the active master
+marked.
This paragraph doesn't belong in the DT binding doc, but somewhere
under Documentation/i2c/
Yes.
quoted
+struct i2c_demux_pinctrl_priv {
+       int cur_chan;
+       int num_chan;
unsigned int
When comparing variables, I prefer to have them the same signedness.
quoted
+static struct property status_okay = { .name = "status", .length = 3, .value = "ok" };
"okay" or "ok"?
Both are valid, I took the shorter one.
quoted
+       struct i2c_demux_pinctrl_priv *priv = dev_get_drvdata(dev);
+       int count = 0, i;
unsigned int i
Same as above.
quoted
+
+       for (i = 0; i < priv->num_chan; i++)
+               count += sprintf(buf + count, "%c %d - %s\n",
+                                i == priv->cur_chan ? '*' : ' ', i,
+                                priv->chan[i].parent_np->full_name);
+       //FIXME: Check count > PAGE_SIZE
Can you use seq_printf() for device attributes?
I can't find a reference to that.

quoted
+static ssize_t cur_master_store(struct device *dev, struct device_attribute *attr,
+                           const char *buf, size_t count)
+{
+       struct i2c_demux_pinctrl_priv *priv = dev_get_drvdata(dev);
+       unsigned long val;
unsigned int
quoted
+       int ret;
+
+       ret = kstrtoul(buf, 0, &val);
kstrtouint()
Yes, I agree to the last two.

Thanks for the review,

   Wolfram

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help