Commit 3275158f authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Greg Kroah-Hartman
Browse files

parport: remove use of devmodel



Now that all the drivers using parallel port has been converted to use
device model, there is no driver left which has devmodel as false.
Remove the part of the code which expects devmodel can be false.

Signed-off-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
Link: https://lore.kernel.org/r/20200403134325.11523-11-sudipm.mukherjee@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bae9defb
Loading
Loading
Loading
Loading
+28 −53
Original line number Diff line number Diff line
@@ -278,7 +278,6 @@ static int port_detect(struct device *dev, void *dev_drv)
int __parport_register_driver(struct parport_driver *drv, struct module *owner,
			      const char *mod_name)
{
	if (drv->devmodel) {
	/* using device model */
	int ret;

@@ -305,19 +304,6 @@ int __parport_register_driver(struct parport_driver *drv, struct module *owner,
		bus_for_each_dev(&parport_bus_type, NULL, drv,
				 port_check);
	mutex_unlock(&registration_lock);
	} else {
		struct parport *port;

		drv->devmodel = false;

		if (list_empty(&portlist))
			get_lowlevel_driver();
		mutex_lock(&registration_lock);
		list_for_each_entry(port, &portlist, list)
			drv->attach(port);
		list_add(&drv->list, &drivers);
		mutex_unlock(&registration_lock);
	}

	return 0;
}
@@ -352,17 +338,9 @@ static int port_detach(struct device *dev, void *_drv)

void parport_unregister_driver(struct parport_driver *drv)
{
	struct parport *port;

	mutex_lock(&registration_lock);
	if (drv->devmodel) {
	bus_for_each_dev(&parport_bus_type, NULL, drv, port_detach);
	driver_unregister(&drv->driver);
	} else {
		list_del_init(&drv->list);
		list_for_each_entry(port, &portlist, list)
			drv->detach(port);
	}
	mutex_unlock(&registration_lock);
}
EXPORT_SYMBOL(parport_unregister_driver);
@@ -915,10 +893,7 @@ void parport_unregister_device(struct pardevice *dev)
	spin_unlock_irq(&port->waitlist_lock);

	kfree(dev->state);
	if (dev->devmodel)
	device_unregister(&dev->dev);
	else
		kfree(dev);

	module_put(port->ops->owner);
	parport_put_port(port);