Re: [PATCH #upstream-fixes] libata: Add transport class for libata

Stefan Richter
2008-08-19T13:17:51Z

Matthew Wilcox wrote:
> I think a more important question is ... this is coming from a Google
> address, but has a Copyright Dell on it. Where's the sign-off chain for
> this? Who's the author really?

Indeed, this needs to be clarified.

>> Gwendal Grignou wrote:
>>> +#define SETUP_TEMPLATE(attrb, field, perm, test) \
>>> + i->private_##attrb[count] = dev_attr_##field; \
>>> + i->private_##attrb[count].attr.mode = perm; \
>>> + i->attrb[count] = &i->private_##attrb[count]; \
>>> + if (test) \
>>> + count++
...
>>> +#define SETUP_PORT_ATTRIBUTE(field) \
>>> + SETUP_TEMPLATE(port_attrs, field, S_IRUGO, 1)
...
>>> + count = 0;
>>> + SETUP_PORT_ATTRIBUTE(nr_pmp_links);
>>> + SETUP_PORT_ATTRIBUTE(idle_irq);
>>> + BUG_ON(count > ATA_PORT_ATTRS);
>>> + i->port_attrs[count] = NULL;

I understand that such preprocessor games are hard to avoid in code like
sysfs attribute setup. I have nothing better to suggest, but they are
ugly nevertheless, and may amount to bloat.

Anyway; the BUG_ON there should probably be a BUILD_BUG_ON.
--
Stefan Richter
-=====-==--- =--- =--==