Re: [PATCH 2/3] openfirmware: adds sysfs nodes for openfirmware devices

From: Jeff Mahoney
Date: Thu Mar 03 2005 - 13:24:41 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Benjamin Herrenschmidt wrote:
> On Tue, 2005-03-01 at 16:18 -0500, Jeffrey Mahoney wrote:
>
>>This patch adds sysfs nodes that the hotplug userspace can use to load the
>>appropriate modules.
>>
>>In order for hotplug to work with macio devices, patches to module-init-tools
>>and hotplug must be applied. Those patches are available at:
>>
>>ftp://ftp.suse.com/pub/people/jeffm/linux/macio-hotplug/
>>
>>Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx>
>
>
>>+static ssize_t
>>+compatible_show (struct device *dev, char *buf)
>>+{
>>+ struct of_device *of;
>>+ char *compat;
>>+ int cplen;
>>+ int length = 0;
>>+
>>+ of = &to_macio_device (dev)->ofdev;
>>+ compat = (char *) get_property(of->node, "compatible", &cplen);
>>+ if (!compat) {
>>+ *buf = '\0';
>>+ return 0;
>>+ }
>>+ while (cplen > 0) {
>>+ int l;
>>+ length += sprintf (buf, "%s%s", length ? "," : "", compat);
>>+ buf += length;
>>+ l = strlen (compat) + 1;
>>+ compat += l;
>>+ cplen -= l;
>>+ }
>>+
>>+ return length;
>>+}
>>+
>
>
> There is a problem here. "," is a valid character within a "compatible"
> property, and is actually regulary used. Normally, "compatible" is a
> list, with '\0' beeing the separator. I suggest using CRLF instead.

Reviewing the 'compatible' values in my device-tree, I definately agree.
I can hack the pmac_zilog driver to test this out further - I've just
been using my airport card.

Are there any other "invalid" characters for the compatible property?
CRLF would work, but these values (as a group) need to be put into
modules.ofmap as well as passed via environment variables for hotplug.
As such, CRLF isn't really easiest choice to work with.

Is whitespace (in any form) allowed in the compatible value?

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCJ1U2LPWxlyuTD7IRAopmAJ44hoUKoCrhdBSyAnCp+jzSauAZ8gCfXt7k
tSZa3KiwEybqOoVhPHsQ5Lg=
=9Cvt
-----END PGP SIGNATURE-----
-
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/