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

Commit 9814fdfb authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

s390/ccwgroup: remove ccwgroup_create_from_string



Remove the old ccwgroup_create_from_string interface since all
drivers have been converted to ccwgroup_create_dev. Also remove
now unused members of ccwgroup_driver.

Reviewed-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent c041f2d4
Loading
Loading
Loading
Loading
+2 −13
Original line number Diff line number Diff line
@@ -29,10 +29,7 @@ struct ccwgroup_device {

/**
 * struct ccwgroup_driver - driver for ccw group devices
 * @max_slaves: maximum number of slave devices
 * @driver_id: unique id
 * @setup: function called during device creation to setup the device
 * @probe: function called on probe
 * @remove: function called on remove
 * @set_online: function called when device is set online
 * @set_offline: function called when device is set offline
@@ -45,11 +42,7 @@ struct ccwgroup_device {
 * @driver: embedded driver structure
 */
struct ccwgroup_driver {
	int max_slaves;
	unsigned long driver_id;

	int (*setup) (struct ccwgroup_device *);
	int (*probe) (struct ccwgroup_device *);
	void (*remove) (struct ccwgroup_device *);
	int (*set_online) (struct ccwgroup_device *);
	int (*set_offline) (struct ccwgroup_device *);
@@ -65,12 +58,8 @@ struct ccwgroup_driver {

extern int  ccwgroup_driver_register   (struct ccwgroup_driver *cdriver);
extern void ccwgroup_driver_unregister (struct ccwgroup_driver *cdriver);
int ccwgroup_create_dev(struct device *root, unsigned int creator_id,
			struct ccwgroup_driver *gdrv, int num_devices,
			const char *buf);
int ccwgroup_create_from_string(struct device *root, unsigned int creator_id,
				struct ccw_driver *cdrv, int num_devices,
				const char *buf);
int ccwgroup_create_dev(struct device *root, struct ccwgroup_driver *gdrv,
			int num_devices, const char *buf);

extern int ccwgroup_probe_ccwdev(struct ccw_device *cdev);
extern void ccwgroup_remove_ccwdev(struct ccw_device *cdev);
+2 −55
Original line number Diff line number Diff line
@@ -30,19 +30,6 @@
 * to devices that use multiple subchannels.
 */

/* a device matches a driver if all its slave devices match the same
 * entry of the driver */
static int ccwgroup_bus_match(struct device *dev, struct device_driver * drv)
{
	struct ccwgroup_device *gdev = to_ccwgroupdev(dev);
	struct ccwgroup_driver *gdrv = to_ccwgroupdrv(drv);

	if (gdev->creator_id == gdrv->driver_id)
		return 1;

	return 0;
}

static struct bus_type ccwgroup_bus_type;

static void __ccwgroup_remove_symlinks(struct ccwgroup_device *gdev)
@@ -292,7 +279,6 @@ static int __get_next_id(const char **buf, struct ccw_dev_id *id)
/**
 * ccwgroup_create_dev() - create and register a ccw group device
 * @parent: parent device for the new device
 * @creator_id: identifier of creating driver
 * @gdrv: driver for the new group device
 * @num_devices: number of slave devices
 * @buf: buffer containing comma separated bus ids of slave devices
@@ -304,9 +290,8 @@ static int __get_next_id(const char **buf, struct ccw_dev_id *id)
 * Context:
 *  non-atomic
 */
int ccwgroup_create_dev(struct device *parent, unsigned int creator_id,
			struct ccwgroup_driver *gdrv, int num_devices,
			const char *buf)
int ccwgroup_create_dev(struct device *parent, struct ccwgroup_driver *gdrv,
			int num_devices, const char *buf)
{
	struct ccwgroup_device *gdev;
	struct ccw_dev_id dev_id;
@@ -320,10 +305,6 @@ int ccwgroup_create_dev(struct device *parent, unsigned int creator_id,
	atomic_set(&gdev->onoff, 0);
	mutex_init(&gdev->reg_mutex);
	mutex_lock(&gdev->reg_mutex);
	if (gdrv)
		gdev->creator_id = gdrv->driver_id;
	else
		gdev->creator_id = creator_id;
	gdev->count = num_devices;
	gdev->dev.bus = &ccwgroup_bus_type;
	gdev->dev.parent = parent;
@@ -402,30 +383,6 @@ int ccwgroup_create_dev(struct device *parent, unsigned int creator_id,
}
EXPORT_SYMBOL(ccwgroup_create_dev);

/**
 * ccwgroup_create_from_string() - create and register a ccw group device
 * @root: parent device for the new device
 * @creator_id: identifier of creating driver
 * @cdrv: ccw driver of slave devices
 * @num_devices: number of slave devices
 * @buf: buffer containing comma separated bus ids of slave devices
 *
 * Create and register a new ccw group device as a child of @root. Slave
 * devices are obtained from the list of bus ids given in @buf and must all
 * belong to @cdrv.
 * Returns:
 *  %0 on success and an error code on failure.
 * Context:
 *  non-atomic
 */
int ccwgroup_create_from_string(struct device *root, unsigned int creator_id,
				struct ccw_driver *cdrv, int num_devices,
				const char *buf)
{
	return ccwgroup_create_dev(root, creator_id, NULL, num_devices, buf);
}
EXPORT_SYMBOL(ccwgroup_create_from_string);

static int ccwgroup_notifier(struct notifier_block *nb, unsigned long action,
			     void *data)
{
@@ -467,14 +424,6 @@ module_exit(cleanup_ccwgroup);

/************************** driver stuff ******************************/

static int ccwgroup_probe(struct device *dev)
{
	struct ccwgroup_device *gdev = to_ccwgroupdev(dev);
	struct ccwgroup_driver *gdrv = to_ccwgroupdrv(dev->driver);

	return gdrv->probe ? gdrv->probe(gdev) : -ENODEV;
}

static int ccwgroup_remove(struct device *dev)
{
	struct ccwgroup_device *gdev = to_ccwgroupdev(dev);
@@ -569,8 +518,6 @@ static const struct dev_pm_ops ccwgroup_pm_ops = {

static struct bus_type ccwgroup_bus_type = {
	.name   = "ccwgroup",
	.match  = ccwgroup_bus_match,
	.probe  = ccwgroup_probe,
	.remove = ccwgroup_remove,
	.shutdown = ccwgroup_shutdown,
	.pm = &ccwgroup_pm_ops,
+4 −7
Original line number Diff line number Diff line
@@ -262,8 +262,6 @@ static struct ccwgroup_driver claw_group_driver = {
		.owner	= THIS_MODULE,
		.name	= "claw",
	},
        .max_slaves  = 2,
        .driver_id   = 0xC3D3C1E6,
	.setup	     = claw_probe,
	.remove      = claw_remove_device,
	.set_online  = claw_new_device,
@@ -292,8 +290,7 @@ static ssize_t claw_driver_group_store(struct device_driver *ddrv,
				       const char *buf,	size_t count)
{
	int err;
	err = ccwgroup_create_dev(claw_root_dev, claw_group_driver.driver_id,
				  &claw_group_driver, 2, buf);
	err = ccwgroup_create_dev(claw_root_dev, &claw_group_driver, 2, buf);
	return err ? err : count;
}
static DRIVER_ATTR(group, 0200, NULL, claw_driver_group_store);
+1 −4
Original line number Diff line number Diff line
@@ -1767,8 +1767,6 @@ static struct ccwgroup_driver ctcm_group_driver = {
		.owner	= THIS_MODULE,
		.name	= CTC_DRIVER_NAME,
	},
	.max_slaves  = 2,
	.driver_id   = 0xC3E3C3D4,	/* CTCM */
	.setup	     = ctcm_probe_device,
	.remove      = ctcm_remove_device,
	.set_online  = ctcm_new_device,
@@ -1783,8 +1781,7 @@ static ssize_t ctcm_driver_group_store(struct device_driver *ddrv,
{
	int err;

	err = ccwgroup_create_dev(ctcm_root_dev, ctcm_group_driver.driver_id,
				  &ctcm_group_driver, 2, buf);
	err = ccwgroup_create_dev(ctcm_root_dev, &ctcm_group_driver, 2, buf);
	return err ? err : count;
}
static DRIVER_ATTR(group, 0200, NULL, ctcm_driver_group_store);
+1 −4
Original line number Diff line number Diff line
@@ -2412,8 +2412,6 @@ static struct ccwgroup_driver lcs_group_driver = {
		.owner	= THIS_MODULE,
		.name	= "lcs",
	},
	.max_slaves  = 2,
	.driver_id   = 0xD3C3E2,
	.setup	     = lcs_probe_device,
	.remove      = lcs_remove_device,
	.set_online  = lcs_new_device,
@@ -2429,8 +2427,7 @@ static ssize_t lcs_driver_group_store(struct device_driver *ddrv,
				      const char *buf, size_t count)
{
	int err;
	err = ccwgroup_create_dev(lcs_root_dev, lcs_group_driver.driver_id,
				  &lcs_group_driver, 2, buf);
	err = ccwgroup_create_dev(lcs_root_dev, &lcs_group_driver, 2, buf);
	return err ? err : count;
}
static DRIVER_ATTR(group, 0200, NULL, lcs_driver_group_store);
Loading