Re: [PATCH] i2c: drop ancient protection against sysfs refcounting issues
From: Pantelis Antoniou <hidden>
Date: 2015-01-19 19:00:07
Also in:
linux-arm-kernel, linux-mips, lkml
Hi Wolfram,
On Jan 19, 2015, at 20:55 , Wolfram Sang [off-list ref] wrote: =20 Back in the days, sysfs seemed to have refcounting issues and =
subsystems
needed a completion to be safe. This is not the case anymore, so I2C =
can
get rid of this code. There is noone else besides I2C doing something like this currently (checked with the attached coccinelle script which checks if a release function exists and if it contains a completion). =20 I have been digging through the history of linux.git and linux-history.git and found that e.g. w1 used to have such a mechanism and also simply removed it later. =20 Some more info from Greg Kroah-Hartman: "Having that call "wait" for the other release call to happen is =
really
old, as Jean points out, from 2003. We have "fixed" sysfs since then =
to
detach the files from the devices easier, we used to have some nasy reference count issues in that area." =20 And some testing from Jean Delvare which matches my results: "However I just tested unloading an i2c bus driver while its adapter's new_device attribute was opened and rmmod returned immediately. So it doesn't look like accessing sysfs attributes actually takes a =
reference
to the underlying i2c_adapter." =20 Let's get rid of this code before really nobody knows/understands anymore what this was for and if it has a subtle use. =20
Hehe, rather obliquely tested by me too :) Please save the reference counter hackers sanity and merge this :)
Reported-by: Pantelis Antoniou <redacted> Signed-off-by: Wolfram Sang <redacted> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jean Delvare <redacted> Cc: Julia Lawall <redacted> =E2=80=94 =20
Regards =E2=80=94 Pantelis=