usb: gadget: f_printer: remove compatibility layer
There are no old interface users left, so it can be removed. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
69504f808d
commit
d85dc4824c
|
@ -57,10 +57,8 @@
|
||||||
|
|
||||||
static int major, minors;
|
static int major, minors;
|
||||||
static struct class *usb_gadget_class;
|
static struct class *usb_gadget_class;
|
||||||
#ifndef USBF_PRINTER_INCLUDED
|
|
||||||
static DEFINE_IDA(printer_ida);
|
static DEFINE_IDA(printer_ida);
|
||||||
static DEFINE_MUTEX(printer_ida_lock); /* protects access do printer_ida */
|
static DEFINE_MUTEX(printer_ida_lock); /* protects access do printer_ida */
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -1118,53 +1116,6 @@ fail_tx_reqs:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USBF_PRINTER_INCLUDED
|
|
||||||
static void printer_func_unbind(struct usb_configuration *c,
|
|
||||||
struct usb_function *f)
|
|
||||||
{
|
|
||||||
struct printer_dev *dev;
|
|
||||||
struct usb_request *req;
|
|
||||||
|
|
||||||
dev = func_to_printer(f);
|
|
||||||
|
|
||||||
device_destroy(usb_gadget_class, MKDEV(major, dev->minor));
|
|
||||||
|
|
||||||
/* Remove Character Device */
|
|
||||||
cdev_del(&dev->printer_cdev);
|
|
||||||
|
|
||||||
/* we must already have been disconnected ... no i/o may be active */
|
|
||||||
WARN_ON(!list_empty(&dev->tx_reqs_active));
|
|
||||||
WARN_ON(!list_empty(&dev->rx_reqs_active));
|
|
||||||
|
|
||||||
/* Free all memory for this driver. */
|
|
||||||
while (!list_empty(&dev->tx_reqs)) {
|
|
||||||
req = container_of(dev->tx_reqs.next, struct usb_request,
|
|
||||||
list);
|
|
||||||
list_del(&req->list);
|
|
||||||
printer_req_free(dev->in_ep, req);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dev->current_rx_req != NULL)
|
|
||||||
printer_req_free(dev->out_ep, dev->current_rx_req);
|
|
||||||
|
|
||||||
while (!list_empty(&dev->rx_reqs)) {
|
|
||||||
req = container_of(dev->rx_reqs.next,
|
|
||||||
struct usb_request, list);
|
|
||||||
list_del(&req->list);
|
|
||||||
printer_req_free(dev->out_ep, req);
|
|
||||||
}
|
|
||||||
|
|
||||||
while (!list_empty(&dev->rx_buffers)) {
|
|
||||||
req = container_of(dev->rx_buffers.next,
|
|
||||||
struct usb_request, list);
|
|
||||||
list_del(&req->list);
|
|
||||||
printer_req_free(dev->out_ep, req);
|
|
||||||
}
|
|
||||||
usb_free_all_descriptors(f);
|
|
||||||
kfree(dev);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int printer_func_set_alt(struct usb_function *f,
|
static int printer_func_set_alt(struct usb_function *f,
|
||||||
unsigned intf, unsigned alt)
|
unsigned intf, unsigned alt)
|
||||||
{
|
{
|
||||||
|
@ -1189,68 +1140,6 @@ static void printer_func_disable(struct usb_function *f)
|
||||||
spin_unlock_irqrestore(&dev->lock, flags);
|
spin_unlock_irqrestore(&dev->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USBF_PRINTER_INCLUDED
|
|
||||||
static int f_printer_bind_config(struct usb_configuration *c, char *pnp_str,
|
|
||||||
char *pnp_string, unsigned q_len, int minor)
|
|
||||||
{
|
|
||||||
struct printer_dev *dev;
|
|
||||||
int status = -ENOMEM;
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
if (minor >= minors)
|
|
||||||
return -ENOENT;
|
|
||||||
|
|
||||||
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
|
||||||
if (!dev)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
dev->pnp_string = pnp_string;
|
|
||||||
dev->minor = minor;
|
|
||||||
|
|
||||||
dev->function.name = shortname;
|
|
||||||
dev->function.bind = printer_func_bind;
|
|
||||||
dev->function.setup = printer_func_setup;
|
|
||||||
dev->function.unbind = printer_func_unbind;
|
|
||||||
dev->function.set_alt = printer_func_set_alt;
|
|
||||||
dev->function.disable = printer_func_disable;
|
|
||||||
dev->function.req_match = gprinter_req_match;
|
|
||||||
INIT_LIST_HEAD(&dev->tx_reqs);
|
|
||||||
INIT_LIST_HEAD(&dev->rx_reqs);
|
|
||||||
INIT_LIST_HEAD(&dev->rx_buffers);
|
|
||||||
|
|
||||||
if (pnp_str)
|
|
||||||
strlcpy(&dev->pnp_string[2], pnp_str, PNP_STRING_LEN - 2);
|
|
||||||
|
|
||||||
len = strlen(pnp_string);
|
|
||||||
pnp_string[0] = (len >> 8) & 0xFF;
|
|
||||||
pnp_string[1] = len & 0xFF;
|
|
||||||
|
|
||||||
spin_lock_init(&dev->lock);
|
|
||||||
mutex_init(&dev->lock_printer_io);
|
|
||||||
INIT_LIST_HEAD(&dev->tx_reqs_active);
|
|
||||||
INIT_LIST_HEAD(&dev->rx_reqs_active);
|
|
||||||
init_waitqueue_head(&dev->rx_wait);
|
|
||||||
init_waitqueue_head(&dev->tx_wait);
|
|
||||||
init_waitqueue_head(&dev->tx_flush_wait);
|
|
||||||
|
|
||||||
dev->interface = -1;
|
|
||||||
dev->printer_cdev_open = 0;
|
|
||||||
dev->printer_status = PRINTER_NOT_ERROR;
|
|
||||||
dev->current_rx_req = NULL;
|
|
||||||
dev->current_rx_bytes = 0;
|
|
||||||
dev->current_rx_buf = NULL;
|
|
||||||
dev->q_len = q_len;
|
|
||||||
|
|
||||||
status = usb_add_function(c, &dev->function);
|
|
||||||
if (status) {
|
|
||||||
kfree(dev);
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
INFO(dev, "%s, version: " DRIVER_VERSION "\n", driver_desc);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
static inline int gprinter_get_minor(void)
|
static inline int gprinter_get_minor(void)
|
||||||
{
|
{
|
||||||
return ida_simple_get(&printer_ida, 0, 0, GFP_KERNEL);
|
return ida_simple_get(&printer_ida, 0, 0, GFP_KERNEL);
|
||||||
|
@ -1422,8 +1311,6 @@ DECLARE_USB_FUNCTION_INIT(printer, gprinter_alloc_inst, gprinter_alloc);
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_AUTHOR("Craig Nadler");
|
MODULE_AUTHOR("Craig Nadler");
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int gprinter_setup(int count)
|
static int gprinter_setup(int count)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
|
|
Loading…
Reference in New Issue