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

Commit 5a3201b2 authored by Tony Jones's avatar Tony Jones Committed by Greg Kroah-Hartman
Browse files

USB: Convert from class_device to device for USB core



Convert from class_device to device for drivers/usb/core.

Signed-off-by: default avatarTony Jones <tonyj@suse.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent de6f92b9
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -807,13 +807,13 @@ static int usb_register_bus(struct usb_bus *bus)
	}
	set_bit (busnum, busmap.busmap);
	bus->busnum = busnum;
	bus->class_dev = class_device_create(usb_host_class, NULL, MKDEV(0,0),
					     bus->controller, "usb_host%d",
					     busnum);
	result = PTR_ERR(bus->class_dev);
	if (IS_ERR(bus->class_dev))

	bus->dev = device_create(usb_host_class, bus->controller, MKDEV(0, 0),
				 "usb_host%d", busnum);
	result = PTR_ERR(bus->dev);
	if (IS_ERR(bus->dev))
		goto error_create_class_dev;
	class_set_devdata(bus->class_dev, bus);
	dev_set_drvdata(bus->dev, bus);

	/* Add it to the local list of buses */
	list_add (&bus->bus_list, &usb_bus_list);
@@ -857,7 +857,7 @@ static void usb_deregister_bus (struct usb_bus *bus)

	clear_bit (bus->busnum, busmap.busmap);

	class_device_unregister(bus->class_dev);
	device_unregister(bus->dev);
}

/**
+17 −17
Original line number Diff line number Diff line
@@ -442,7 +442,7 @@ static void qh_lines (
}

static ssize_t
show_async (struct class_device *class_dev, char *buf)
show_async(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct usb_bus		*bus;
	struct usb_hcd		*hcd;
@@ -454,7 +454,7 @@ show_async (struct class_device *class_dev, char *buf)

	*buf = 0;

	bus = class_get_devdata(class_dev);
	bus = dev_get_drvdata(dev);
	hcd = bus_to_hcd(bus);
	ehci = hcd_to_ehci (hcd);
	next = buf;
@@ -479,12 +479,12 @@ show_async (struct class_device *class_dev, char *buf)

	return strlen (buf);
}
static CLASS_DEVICE_ATTR (async, S_IRUGO, show_async, NULL);
static DEVICE_ATTR(async, S_IRUGO, show_async, NULL);

#define DBG_SCHED_LIMIT 64

static ssize_t
show_periodic (struct class_device *class_dev, char *buf)
show_periodic(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct usb_bus		*bus;
	struct usb_hcd		*hcd;
@@ -500,7 +500,7 @@ show_periodic (struct class_device *class_dev, char *buf)
		return 0;
	seen_count = 0;

	bus = class_get_devdata(class_dev);
	bus = dev_get_drvdata(dev);
	hcd = bus_to_hcd(bus);
	ehci = hcd_to_ehci (hcd);
	next = buf;
@@ -623,12 +623,12 @@ show_periodic (struct class_device *class_dev, char *buf)

	return PAGE_SIZE - size;
}
static CLASS_DEVICE_ATTR (periodic, S_IRUGO, show_periodic, NULL);
static DEVICE_ATTR(periodic, S_IRUGO, show_periodic, NULL);

#undef DBG_SCHED_LIMIT

static ssize_t
show_registers (struct class_device *class_dev, char *buf)
show_registers(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct usb_bus		*bus;
	struct usb_hcd		*hcd;
@@ -639,7 +639,7 @@ show_registers (struct class_device *class_dev, char *buf)
	static char		fmt [] = "%*s\n";
	static char		label [] = "";

	bus = class_get_devdata(class_dev);
	bus = dev_get_drvdata(dev);
	hcd = bus_to_hcd(bus);
	ehci = hcd_to_ehci (hcd);
	next = buf;
@@ -789,25 +789,25 @@ show_registers (struct class_device *class_dev, char *buf)

	return PAGE_SIZE - size;
}
static CLASS_DEVICE_ATTR (registers, S_IRUGO, show_registers, NULL);
static DEVICE_ATTR(registers, S_IRUGO, show_registers, NULL);

static inline void create_debug_files (struct ehci_hcd *ehci)
{
	struct class_device *cldev = ehci_to_hcd(ehci)->self.class_dev;
	struct device *dev = ehci_to_hcd(ehci)->self.dev;
	int retval;

	retval = class_device_create_file(cldev, &class_device_attr_async);
	retval = class_device_create_file(cldev, &class_device_attr_periodic);
	retval = class_device_create_file(cldev, &class_device_attr_registers);
	retval = device_create_file(dev, &dev_attr_async);
	retval = device_create_file(dev, &dev_attr_periodic);
	retval = device_create_file(dev, &dev_attr_registers);
}

static inline void remove_debug_files (struct ehci_hcd *ehci)
{
	struct class_device *cldev = ehci_to_hcd(ehci)->self.class_dev;
	struct device *dev = ehci_to_hcd(ehci)->self.dev;

	class_device_remove_file(cldev, &class_device_attr_async);
	class_device_remove_file(cldev, &class_device_attr_periodic);
	class_device_remove_file(cldev, &class_device_attr_registers);
	device_remove_file(dev, &dev_attr_async);
	device_remove_file(dev, &dev_attr_periodic);
	device_remove_file(dev, &dev_attr_registers);
}

#endif /* STUB_DEBUG_FILES */
+13 −10
Original line number Diff line number Diff line
@@ -291,14 +291,16 @@ static int ehci_bus_resume (struct usb_hcd *hcd)
/*-------------------------------------------------------------------------*/

/* Display the ports dedicated to the companion controller */
static ssize_t show_companion(struct class_device *class_dev, char *buf)
static ssize_t show_companion(struct device *dev,
			      struct device_attribute *attr,
			      char *buf)
{
	struct ehci_hcd		*ehci;
	int			nports, index, n;
	int			count = PAGE_SIZE;
	char			*ptr = buf;

	ehci = hcd_to_ehci(bus_to_hcd(class_get_devdata(class_dev)));
	ehci = hcd_to_ehci(bus_to_hcd(dev_get_drvdata(dev)));
	nports = HCS_N_PORTS(ehci->hcs_params);

	for (index = 0; index < nports; ++index) {
@@ -316,7 +318,8 @@ static ssize_t show_companion(struct class_device *class_dev, char *buf)
 * Syntax is "[-]portnum", where a leading '-' sign means
 * return control of the port to the EHCI controller.
 */
static ssize_t store_companion(struct class_device *class_dev,
static ssize_t store_companion(struct device *dev,
			       struct device_attribute *attr,
			       const char *buf, size_t count)
{
	struct ehci_hcd		*ehci;
@@ -324,7 +327,7 @@ static ssize_t store_companion(struct class_device *class_dev,
	u32 __iomem		*status_reg;
	u32			port_status;

	ehci = hcd_to_ehci(bus_to_hcd(class_get_devdata(class_dev)));
	ehci = hcd_to_ehci(bus_to_hcd(dev_get_drvdata(dev)));
	new_owner = PORT_OWNER;		/* Owned by companion */
	if (sscanf(buf, "%d", &portnum) != 1)
		return -EINVAL;
@@ -364,7 +367,7 @@ static ssize_t store_companion(struct class_device *class_dev,
	}
	return count;
}
static CLASS_DEVICE_ATTR(companion, 0644, show_companion, store_companion);
static DEVICE_ATTR(companion, 0644, show_companion, store_companion);

static inline void create_companion_file(struct ehci_hcd *ehci)
{
@@ -372,16 +375,16 @@ static inline void create_companion_file(struct ehci_hcd *ehci)

	/* with integrated TT there is no companion! */
	if (!ehci_is_TDI(ehci))
		i = class_device_create_file(ehci_to_hcd(ehci)->self.class_dev,
				&class_device_attr_companion);
		i = device_create_file(ehci_to_hcd(ehci)->self.dev,
				       &dev_attr_companion);
}

static inline void remove_companion_file(struct ehci_hcd *ehci)
{
	/* with integrated TT there is no companion! */
	if (!ehci_is_TDI(ehci))
		class_device_remove_file(ehci_to_hcd(ehci)->self.class_dev,
				&class_device_attr_companion);
		device_remove_file(ehci_to_hcd(ehci)->self.dev,
				   &dev_attr_companion);
}


+17 −17
Original line number Diff line number Diff line
@@ -468,7 +468,7 @@ show_list (struct ohci_hcd *ohci, char *buf, size_t count, struct ed *ed)
}

static ssize_t
show_async (struct class_device *class_dev, char *buf)
show_async(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct usb_bus		*bus;
	struct usb_hcd		*hcd;
@@ -476,7 +476,7 @@ show_async (struct class_device *class_dev, char *buf)
	size_t			temp;
	unsigned long		flags;

	bus = class_get_devdata(class_dev);
	bus = dev_get_drvdata(dev);
	hcd = bus_to_hcd(bus);
	ohci = hcd_to_ohci(hcd);

@@ -488,13 +488,13 @@ show_async (struct class_device *class_dev, char *buf)

	return temp;
}
static CLASS_DEVICE_ATTR (async, S_IRUGO, show_async, NULL);
static DEVICE_ATTR(async, S_IRUGO, show_async, NULL);


#define DBG_SCHED_LIMIT 64

static ssize_t
show_periodic (struct class_device *class_dev, char *buf)
show_periodic(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct usb_bus		*bus;
	struct usb_hcd		*hcd;
@@ -509,7 +509,7 @@ show_periodic (struct class_device *class_dev, char *buf)
		return 0;
	seen_count = 0;

	bus = class_get_devdata(class_dev);
	bus = dev_get_drvdata(dev);
	hcd = bus_to_hcd(bus);
	ohci = hcd_to_ohci(hcd);
	next = buf;
@@ -589,13 +589,13 @@ show_periodic (struct class_device *class_dev, char *buf)

	return PAGE_SIZE - size;
}
static CLASS_DEVICE_ATTR (periodic, S_IRUGO, show_periodic, NULL);
static DEVICE_ATTR(periodic, S_IRUGO, show_periodic, NULL);


#undef DBG_SCHED_LIMIT

static ssize_t
show_registers (struct class_device *class_dev, char *buf)
show_registers(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct usb_bus		*bus;
	struct usb_hcd		*hcd;
@@ -606,7 +606,7 @@ show_registers (struct class_device *class_dev, char *buf)
	char			*next;
	u32			rdata;

	bus = class_get_devdata(class_dev);
	bus = dev_get_drvdata(dev);
	hcd = bus_to_hcd(bus);
	ohci = hcd_to_ohci(hcd);
	regs = ohci->regs;
@@ -679,27 +679,27 @@ show_registers (struct class_device *class_dev, char *buf)
	spin_unlock_irqrestore (&ohci->lock, flags);
	return PAGE_SIZE - size;
}
static CLASS_DEVICE_ATTR (registers, S_IRUGO, show_registers, NULL);
static DEVICE_ATTR(registers, S_IRUGO, show_registers, NULL);


static inline void create_debug_files (struct ohci_hcd *ohci)
{
	struct class_device *cldev = ohci_to_hcd(ohci)->self.class_dev;
	struct device *dev = ohci_to_hcd(ohci)->self.dev;
	int retval;

	retval = class_device_create_file(cldev, &class_device_attr_async);
	retval = class_device_create_file(cldev, &class_device_attr_periodic);
	retval = class_device_create_file(cldev, &class_device_attr_registers);
	retval = device_create_file(dev, &dev_attr_async);
	retval = device_create_file(dev, &dev_attr_periodic);
	retval = device_create_file(dev, &dev_attr_registers);
	ohci_dbg (ohci, "created debug files\n");
}

static inline void remove_debug_files (struct ohci_hcd *ohci)
{
	struct class_device *cldev = ohci_to_hcd(ohci)->self.class_dev;
	struct device *dev = ohci_to_hcd(ohci)->self.dev;

	class_device_remove_file(cldev, &class_device_attr_async);
	class_device_remove_file(cldev, &class_device_attr_periodic);
	class_device_remove_file(cldev, &class_device_attr_registers);
	device_remove_file(dev, &dev_attr_async);
	device_remove_file(dev, &dev_attr_periodic);
	device_remove_file(dev, &dev_attr_registers);
}

#endif
+1 −1
Original line number Diff line number Diff line
@@ -318,7 +318,7 @@ struct usb_bus {
#ifdef CONFIG_USB_DEVICEFS
	struct dentry *usbfs_dentry;	/* usbfs dentry entry for the bus */
#endif
	struct class_device *class_dev;	/* class device for this bus */
	struct device *dev;		/* device for this bus */

#if defined(CONFIG_USB_MON)
	struct mon_bus *mon_bus;	/* non-null when associated */