Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 87c6c229 authored by Jean Delvare's avatar Jean Delvare Committed by Jean Delvare
Browse files

i2c: Drop redundant i2c_adapter.list



i2c_adapter.list is superfluous, this list duplicates the one
maintained by the driver core. Drop it.

Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
parent e48d3319
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -191,15 +191,6 @@ Who: Kay Sievers <kay.sievers@suse.de>

---------------------------

What:	i2c_adapter.list
When:	July 2007
Why:	Superfluous, this list duplicates the one maintained by the driver
	core.
Who:	Jean Delvare <khali@linux-fr.org>,
	David Brownell <dbrownell@users.sourceforge.net>

---------------------------

What:	ACPI procfs interface
When:	July 2008
Why:	ACPI sysfs conversion should be finished by January 2008.
+10 −14
Original line number Diff line number Diff line
@@ -34,11 +34,11 @@
#include <linux/mutex.h>
#include <linux/completion.h>
#include <asm/uaccess.h>
#include <asm/semaphore.h>

#include "i2c-core.h"


static LIST_HEAD(adapters);
static LIST_HEAD(drivers);
static DEFINE_MUTEX(core_lists);
static DEFINE_IDR(i2c_adapter_idr);
@@ -331,7 +331,6 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
	INIT_LIST_HEAD(&adap->clients);

	mutex_lock(&core_lists);
	list_add_tail(&adap->list, &adapters);

	/* Add the adapter to the driver core.
	 * If the parent pointer is not set up,
@@ -368,7 +367,6 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
	return res;

out_list:
	list_del(&adap->list);
	idr_remove(&i2c_adapter_idr, adap->nr);
	goto out_unlock;
}
@@ -473,7 +471,6 @@ EXPORT_SYMBOL_GPL(i2c_add_numbered_adapter);
int i2c_del_adapter(struct i2c_adapter *adap)
{
	struct list_head  *item, *_n;
	struct i2c_adapter *adap_from_list;
	struct i2c_driver *driver;
	struct i2c_client *client;
	int res = 0;
@@ -481,11 +478,7 @@ int i2c_del_adapter(struct i2c_adapter *adap)
	mutex_lock(&core_lists);

	/* First make sure that this adapter was ever added */
	list_for_each_entry(adap_from_list, &adapters, list) {
		if (adap_from_list == adap)
			break;
	}
	if (adap_from_list != adap) {
	if (idr_find(&i2c_adapter_idr, adap->nr) != adap) {
		pr_debug("i2c-core: attempting to delete unregistered "
			 "adapter [%s]\n", adap->name);
		res = -EINVAL;
@@ -529,7 +522,6 @@ int i2c_del_adapter(struct i2c_adapter *adap)
	/* clean up the sysfs representation */
	init_completion(&adap->dev_released);
	device_unregister(&adap->dev);
	list_del(&adap->list);

	/* wait for sysfs to drop all references */
	wait_for_completion(&adap->dev_released);
@@ -592,9 +584,12 @@ int i2c_register_driver(struct module *owner, struct i2c_driver *driver)
	if (driver->attach_adapter) {
		struct i2c_adapter *adapter;

		list_for_each_entry(adapter, &adapters, list) {
		down(&i2c_adapter_class.sem);
		list_for_each_entry(adapter, &i2c_adapter_class.devices,
				    dev.node) {
			driver->attach_adapter(adapter);
		}
		up(&i2c_adapter_class.sem);
	}

	mutex_unlock(&core_lists);
@@ -609,7 +604,7 @@ EXPORT_SYMBOL(i2c_register_driver);
 */
void i2c_del_driver(struct i2c_driver *driver)
{
	struct list_head   *item1, *item2, *_n;
	struct list_head   *item2, *_n;
	struct i2c_client  *client;
	struct i2c_adapter *adap;

@@ -623,8 +618,8 @@ void i2c_del_driver(struct i2c_driver *driver)
	 * attached. If so, detach them to be able to kill the driver
	 * afterwards.
	 */
	list_for_each(item1,&adapters) {
		adap = list_entry(item1, struct i2c_adapter, list);
	down(&i2c_adapter_class.sem);
	list_for_each_entry(adap, &i2c_adapter_class.devices, dev.node) {
		if (driver->detach_adapter) {
			if (driver->detach_adapter(adap)) {
				dev_err(&adap->dev, "detach_adapter failed "
@@ -648,6 +643,7 @@ void i2c_del_driver(struct i2c_driver *driver)
			}
		}
	}
	up(&i2c_adapter_class.sem);

 unregister:
	driver_unregister(&driver->driver);
+0 −1
Original line number Diff line number Diff line
@@ -317,7 +317,6 @@ struct i2c_adapter {

	int nr;
	struct list_head clients;
	struct list_head list;
	char name[48];
	struct completion dev_released;
};