Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits) debugfs: use specified mode to possibly mark files read/write only debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem. xen: remove driver_data direct access of struct device from more drivers usb: gadget: at91_udc: remove driver_data direct access of struct device uml: remove driver_data direct access of struct device block/ps3: remove driver_data direct access of struct device s390: remove driver_data direct access of struct device parport: remove driver_data direct access of struct device parisc: remove driver_data direct access of struct device of_serial: remove driver_data direct access of struct device mips: remove driver_data direct access of struct device ipmi: remove driver_data direct access of struct device infiniband: ehca: remove driver_data direct access of struct device ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device hvcs: remove driver_data direct access of struct device xen block: remove driver_data direct access of struct device thermal: remove driver_data direct access of struct device scsi: remove driver_data direct access of struct device pcmcia: remove driver_data direct access of struct device PCIE: remove driver_data direct access of struct device ... Manually fix up trivial conflicts due to different direct driver_data direct access fixups in drivers/block/{ps3disk.c,ps3vram.c}
This commit is contained in:
@@ -80,11 +80,11 @@ static DEFINE_MUTEX(vmur_mutex);
|
||||
*
|
||||
* Each ur device (urd) contains a reference to its corresponding ccw device
|
||||
* (cdev) using the urd->cdev pointer. Each ccw device has a reference to the
|
||||
* ur device using the cdev->dev.driver_data pointer.
|
||||
* ur device using dev_get_drvdata(&cdev->dev) pointer.
|
||||
*
|
||||
* urd references:
|
||||
* - ur_probe gets a urd reference, ur_remove drops the reference
|
||||
* (cdev->dev.driver_data)
|
||||
* dev_get_drvdata(&cdev->dev)
|
||||
* - ur_open gets a urd reference, ur_relase drops the reference
|
||||
* (urf->urd)
|
||||
*
|
||||
@@ -92,7 +92,7 @@ static DEFINE_MUTEX(vmur_mutex);
|
||||
* - urdev_alloc get a cdev reference (urd->cdev)
|
||||
* - urdev_free drops the cdev reference (urd->cdev)
|
||||
*
|
||||
* Setting and clearing of cdev->dev.driver_data is protected by the ccwdev lock
|
||||
* Setting and clearing of dev_get_drvdata(&cdev->dev) is protected by the ccwdev lock
|
||||
*/
|
||||
static struct urdev *urdev_alloc(struct ccw_device *cdev)
|
||||
{
|
||||
@@ -131,7 +131,7 @@ static struct urdev *urdev_get_from_cdev(struct ccw_device *cdev)
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(get_ccwdev_lock(cdev), flags);
|
||||
urd = cdev->dev.driver_data;
|
||||
urd = dev_get_drvdata(&cdev->dev);
|
||||
if (urd)
|
||||
urdev_get(urd);
|
||||
spin_unlock_irqrestore(get_ccwdev_lock(cdev), flags);
|
||||
@@ -310,7 +310,7 @@ static void ur_int_handler(struct ccw_device *cdev, unsigned long intparm,
|
||||
TRACE("ur_int_handler: unsolicited interrupt\n");
|
||||
return;
|
||||
}
|
||||
urd = cdev->dev.driver_data;
|
||||
urd = dev_get_drvdata(&cdev->dev);
|
||||
BUG_ON(!urd);
|
||||
/* On special conditions irb is an error pointer */
|
||||
if (IS_ERR(irb))
|
||||
@@ -856,7 +856,7 @@ static int ur_probe(struct ccw_device *cdev)
|
||||
goto fail_remove_attr;
|
||||
}
|
||||
spin_lock_irq(get_ccwdev_lock(cdev));
|
||||
cdev->dev.driver_data = urd;
|
||||
dev_set_drvdata(&cdev->dev, urd);
|
||||
spin_unlock_irq(get_ccwdev_lock(cdev));
|
||||
|
||||
mutex_unlock(&vmur_mutex);
|
||||
@@ -996,8 +996,8 @@ static void ur_remove(struct ccw_device *cdev)
|
||||
ur_remove_attributes(&cdev->dev);
|
||||
|
||||
spin_lock_irqsave(get_ccwdev_lock(cdev), flags);
|
||||
urdev_put(cdev->dev.driver_data);
|
||||
cdev->dev.driver_data = NULL;
|
||||
urdev_put(dev_get_drvdata(&cdev->dev));
|
||||
dev_set_drvdata(&cdev->dev, NULL);
|
||||
spin_unlock_irqrestore(get_ccwdev_lock(cdev), flags);
|
||||
|
||||
mutex_unlock(&vmur_mutex);
|
||||
|
Reference in New Issue
Block a user