mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	usb: gadget: musb: Convert interrupt handling to usb_gadget_generic_ops
Implement .handle_interrupts callback as a replacement for deprecated dm_usb_gadget_handle_interrupts() function. The new callback allows for each DM capable USB gadget controller driver to define its own IRQ handling implementation without colliding with other controller drivers. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # vim3 Link: https://lore.kernel.org/r/20240614005309.34433-9-marek.vasut+renesas@mailbox.org Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:
		
							parent
							
								
									521bc756cb
								
							
						
					
					
						commit
						281eaf1ed8
					
				@ -233,15 +233,6 @@ static int ti_musb_peripheral_of_to_plat(struct udevice *dev)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int dm_usb_gadget_handle_interrupts(struct udevice *dev)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	struct ti_musb_peripheral *priv = dev_get_priv(dev);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	priv->periph->isr(0, priv->periph);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int ti_musb_peripheral_probe(struct udevice *dev)
 | 
					static int ti_musb_peripheral_probe(struct udevice *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ti_musb_peripheral *priv = dev_get_priv(dev);
 | 
						struct ti_musb_peripheral *priv = dev_get_priv(dev);
 | 
				
			||||||
@ -269,12 +260,26 @@ static int ti_musb_peripheral_remove(struct udevice *dev)
 | 
				
			|||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int ti_musb_gadget_handle_interrupts(struct udevice *dev)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct ti_musb_peripheral *priv = dev_get_priv(dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						priv->periph->isr(0, priv->periph);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static const struct usb_gadget_generic_ops ti_musb_gadget_ops = {
 | 
				
			||||||
 | 
						.handle_interrupts	= ti_musb_gadget_handle_interrupts,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
U_BOOT_DRIVER(ti_musb_peripheral) = {
 | 
					U_BOOT_DRIVER(ti_musb_peripheral) = {
 | 
				
			||||||
	.name	= "ti-musb-peripheral",
 | 
						.name	= "ti-musb-peripheral",
 | 
				
			||||||
	.id	= UCLASS_USB_GADGET_GENERIC,
 | 
						.id	= UCLASS_USB_GADGET_GENERIC,
 | 
				
			||||||
#if CONFIG_IS_ENABLED(OF_CONTROL)
 | 
					#if CONFIG_IS_ENABLED(OF_CONTROL)
 | 
				
			||||||
	.of_to_plat = ti_musb_peripheral_of_to_plat,
 | 
						.of_to_plat = ti_musb_peripheral_of_to_plat,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
						.ops	= &ti_musb_gadget_ops,
 | 
				
			||||||
	.probe = ti_musb_peripheral_probe,
 | 
						.probe = ti_musb_peripheral_probe,
 | 
				
			||||||
	.remove = ti_musb_peripheral_remove,
 | 
						.remove = ti_musb_peripheral_remove,
 | 
				
			||||||
	.ops	= &musb_usb_ops,
 | 
						.ops	= &musb_usb_ops,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user