Explorar o código

[S390] cio: Use helpers instead of container_of().

- Introduce to_cssdriver.
- Use to_xxx instead of container_of where possible.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck %!s(int64=17) %!d(string=hai) anos
pai
achega
084325d804
Modificáronse 3 ficheiros con 7 adicións e 5 borrados
  1. 2 2
      drivers/s390/cio/ccwgroup.c
  2. 3 3
      drivers/s390/cio/css.c
  3. 2 0
      drivers/s390/cio/css.h

+ 2 - 2
drivers/s390/cio/ccwgroup.c

@@ -35,8 +35,8 @@ ccwgroup_bus_match (struct device * dev, struct device_driver * drv)
 	struct ccwgroup_device *gdev;
 	struct ccwgroup_driver *gdrv;
 
-	gdev = container_of(dev, struct ccwgroup_device, dev);
-	gdrv = container_of(drv, struct ccwgroup_driver, driver);
+	gdev = to_ccwgroupdev(dev);
+	gdrv = to_ccwgroupdrv(drv);
 
 	if (gdev->creator_id == gdrv->driver_id)
 		return 1;

+ 3 - 3
drivers/s390/cio/css.c

@@ -787,8 +787,8 @@ int sch_is_pseudo_sch(struct subchannel *sch)
 static int
 css_bus_match (struct device *dev, struct device_driver *drv)
 {
-	struct subchannel *sch = container_of (dev, struct subchannel, dev);
-	struct css_driver *driver = container_of (drv, struct css_driver, drv);
+	struct subchannel *sch = to_subchannel(dev);
+	struct css_driver *driver = to_cssdriver(drv);
 
 	if (sch->st == driver->subchannel_type)
 		return 1;
@@ -802,7 +802,7 @@ css_probe (struct device *dev)
 	struct subchannel *sch;
 
 	sch = to_subchannel(dev);
-	sch->driver = container_of (dev->driver, struct css_driver, drv);
+	sch->driver = to_cssdriver(dev->driver);
 	return (sch->driver->probe ? sch->driver->probe(sch) : 0);
 }
 

+ 2 - 0
drivers/s390/cio/css.h

@@ -134,6 +134,8 @@ struct css_driver {
 	void (*shutdown)(struct subchannel *);
 };
 
+#define to_cssdriver(n) container_of(n, struct css_driver, drv)
+
 /*
  * all css_drivers have the css_bus_type
  */