 58acb1dd2c
			
		
	
	58acb1dd2c
	
	
	
		
			
			This adds a bunch of patches for the v6.1 Gemini kernel. For v5.15 this was down to a single upstream patch, but for kernel v6.2 I reworked the USB code for FOTG210, so instead of carrying over the half-baked and incomplete patch from v5.15 I just backported all the v6.2 patches, 31 in total, as it creates full device USB mode for e.g. D-Link DNS-313. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 27cd321a365fecac857e41ad1681062994142e4a Mon Sep 17 00:00:00 2001
 | |
| From: Linus Walleij <linus.walleij@linaro.org>
 | |
| Date: Mon, 14 Nov 2022 12:51:58 +0100
 | |
| Subject: [PATCH 08/29] fotg210-udc: Use dev pointer in probe and dev_messages
 | |
| 
 | |
| Add a local struct device *dev pointer and use dev_err()
 | |
| etc to report status.
 | |
| 
 | |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | |
| Link: https://lore.kernel.org/r/20221114115201.302887-1-linus.walleij@linaro.org
 | |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 | |
| ---
 | |
| --- a/drivers/usb/fotg210/fotg210-udc.c
 | |
| +++ b/drivers/usb/fotg210/fotg210-udc.c
 | |
| @@ -1104,6 +1104,7 @@ int fotg210_udc_probe(struct platform_de
 | |
|  	struct resource *res, *ires;
 | |
|  	struct fotg210_udc *fotg210 = NULL;
 | |
|  	struct fotg210_ep *_ep[FOTG210_MAX_NUM_EP];
 | |
| +	struct device *dev = &pdev->dev;
 | |
|  	int ret = 0;
 | |
|  	int i;
 | |
|  
 | |
| @@ -1135,7 +1136,7 @@ int fotg210_udc_probe(struct platform_de
 | |
|  
 | |
|  	fotg210->reg = ioremap(res->start, resource_size(res));
 | |
|  	if (fotg210->reg == NULL) {
 | |
| -		pr_err("ioremap error.\n");
 | |
| +		dev_err(dev, "ioremap error\n");
 | |
|  		goto err_alloc;
 | |
|  	}
 | |
|  
 | |
| @@ -1146,8 +1147,8 @@ int fotg210_udc_probe(struct platform_de
 | |
|  	fotg210->gadget.ops = &fotg210_gadget_ops;
 | |
|  
 | |
|  	fotg210->gadget.max_speed = USB_SPEED_HIGH;
 | |
| -	fotg210->gadget.dev.parent = &pdev->dev;
 | |
| -	fotg210->gadget.dev.dma_mask = pdev->dev.dma_mask;
 | |
| +	fotg210->gadget.dev.parent = dev;
 | |
| +	fotg210->gadget.dev.dma_mask = dev->dma_mask;
 | |
|  	fotg210->gadget.name = udc_name;
 | |
|  
 | |
|  	INIT_LIST_HEAD(&fotg210->gadget.ep_list);
 | |
| @@ -1195,15 +1196,15 @@ int fotg210_udc_probe(struct platform_de
 | |
|  	ret = request_irq(ires->start, fotg210_irq, IRQF_SHARED,
 | |
|  			  udc_name, fotg210);
 | |
|  	if (ret < 0) {
 | |
| -		pr_err("request_irq error (%d)\n", ret);
 | |
| +		dev_err(dev, "request_irq error (%d)\n", ret);
 | |
|  		goto err_req;
 | |
|  	}
 | |
|  
 | |
| -	ret = usb_add_gadget_udc(&pdev->dev, &fotg210->gadget);
 | |
| +	ret = usb_add_gadget_udc(dev, &fotg210->gadget);
 | |
|  	if (ret)
 | |
|  		goto err_add_udc;
 | |
|  
 | |
| -	dev_info(&pdev->dev, "version %s\n", DRIVER_VERSION);
 | |
| +	dev_info(dev, "version %s\n", DRIVER_VERSION);
 | |
|  
 | |
|  	return 0;
 | |
|  
 |