init dynamic bin_attribute structures
Commit 6992f53349
("sysfs: Use one lockdep
class per sysfs attribute.") introduced this requirement. First, at25
was fixed manually. Then, other occurences were found with coccinelle
and the following semantic patch. Results were reviewed and fixed up:
@ init @
identifier struct_name, bin;
@@
struct struct_name {
...
struct bin_attribute bin;
...
};
@ main extends init @
expression E;
statement S;
identifier name, err;
@@
(
struct struct_name *name;
|
- struct struct_name *name = NULL;
+ struct struct_name *name;
)
...
(
sysfs_bin_attr_init(&name->bin);
|
+ sysfs_bin_attr_init(&name->bin);
if (sysfs_create_bin_file(E, &name->bin))
S
|
+ sysfs_bin_attr_init(&name->bin);
err = sysfs_create_bin_file(E, &name->bin);
)
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
181427a7e0
commit
f937331b3f
|
@ -956,6 +956,7 @@ void __init txx9_sramc_init(struct resource *r)
|
||||||
if (!dev->base)
|
if (!dev->base)
|
||||||
goto exit;
|
goto exit;
|
||||||
dev->dev.cls = &txx9_sramc_sysdev_class;
|
dev->dev.cls = &txx9_sramc_sysdev_class;
|
||||||
|
sysfs_bin_attr_init(&dev->bindata_attr);
|
||||||
dev->bindata_attr.attr.name = "bindata";
|
dev->bindata_attr.attr.name = "bindata";
|
||||||
dev->bindata_attr.attr.mode = S_IRUSR | S_IWUSR;
|
dev->bindata_attr.attr.mode = S_IRUSR | S_IWUSR;
|
||||||
dev->bindata_attr.read = txx9_sram_read;
|
dev->bindata_attr.read = txx9_sram_read;
|
||||||
|
|
|
@ -347,6 +347,7 @@ static int at25_probe(struct spi_device *spi)
|
||||||
* that's sensitive for read and/or write, like ethernet addresses,
|
* that's sensitive for read and/or write, like ethernet addresses,
|
||||||
* security codes, board-specific manufacturing calibrations, etc.
|
* security codes, board-specific manufacturing calibrations, etc.
|
||||||
*/
|
*/
|
||||||
|
sysfs_bin_attr_init(&at25->bin);
|
||||||
at25->bin.attr.name = "eeprom";
|
at25->bin.attr.name = "eeprom";
|
||||||
at25->bin.attr.mode = S_IRUSR;
|
at25->bin.attr.mode = S_IRUSR;
|
||||||
at25->bin.read = at25_bin_read;
|
at25->bin.read = at25_bin_read;
|
||||||
|
|
|
@ -184,6 +184,7 @@ static int __devinit ds1742_rtc_probe(struct platform_device *pdev)
|
||||||
pdata->size_nvram = pdata->size - RTC_SIZE;
|
pdata->size_nvram = pdata->size - RTC_SIZE;
|
||||||
pdata->ioaddr_rtc = ioaddr + pdata->size_nvram;
|
pdata->ioaddr_rtc = ioaddr + pdata->size_nvram;
|
||||||
|
|
||||||
|
sysfs_bin_attr_init(&pdata->nvram_attr);
|
||||||
pdata->nvram_attr.attr.name = "nvram";
|
pdata->nvram_attr.attr.name = "nvram";
|
||||||
pdata->nvram_attr.attr.mode = S_IRUGO | S_IWUSR;
|
pdata->nvram_attr.attr.mode = S_IRUGO | S_IWUSR;
|
||||||
pdata->nvram_attr.read = ds1742_nvram_read;
|
pdata->nvram_attr.read = ds1742_nvram_read;
|
||||||
|
|
Loading…
Reference in New Issue