On ven., sept. 01, 2023 at 11:50, Marek Vasut <[email protected]> wrote: > Convert to plain udevice interaction with UDC controller > device, avoid the use of UDC uclass dev_array . > > Signed-off-by: Marek Vasut <[email protected]>
Reviewed-by: Mattijs Korpershoek <[email protected]> > --- > Cc: Angus Ainslie <[email protected]> > Cc: Dmitrii Merkurev <[email protected]> > Cc: Eddie Cai <[email protected]> > Cc: Kever Yang <[email protected]> > Cc: Lukasz Majewski <[email protected]> > Cc: Miquel Raynal <[email protected]> > Cc: Mattijs Korpershoek <[email protected]> > Cc: Nishanth Menon <[email protected]> > Cc: Patrice Chotard <[email protected]> > Cc: Patrick Delaunay <[email protected]> > Cc: Philipp Tomsich <[email protected]> > Cc: Simon Glass <[email protected]> > Cc: Stefan Roese <[email protected]> > Cc: [email protected] > --- > V2: No change > --- > drivers/usb/gadget/f_acm.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/drivers/usb/gadget/f_acm.c b/drivers/usb/gadget/f_acm.c > index b2ddd1ada8b..de42e0189e8 100644 > --- a/drivers/usb/gadget/f_acm.c > +++ b/drivers/usb/gadget/f_acm.c > @@ -51,7 +51,7 @@ struct f_acm { > #define ACM_CTRL_RTS BIT(1) /* unused with full duplex */ > #define ACM_CTRL_DTR BIT(0) /* host is ready for data r/w */ > > - int controller_index; > + struct udevice *udc; > }; > > static struct f_acm *default_acm_function; > @@ -489,7 +489,7 @@ static void __acm_tx(struct f_acm *f_acm) > int len, ret; > > do { > - usb_gadget_handle_interrupts(f_acm->controller_index); > + dm_usb_gadget_handle_interrupts(f_acm->udc); > > if (!(f_acm->handshake_bits & ACM_CTRL_DTR)) > break; > @@ -520,7 +520,7 @@ static bool acm_connected(struct stdio_dev *dev) > struct f_acm *f_acm = stdio_to_acm(dev); > > /* give a chance to process udc irq */ > - usb_gadget_handle_interrupts(f_acm->controller_index); > + dm_usb_gadget_handle_interrupts(f_acm->udc); > > return f_acm->connected; > } > @@ -543,7 +543,10 @@ static int acm_add(struct usb_configuration *c) > f_acm->usb_function.descriptors = acm_fs_function; > f_acm->usb_function.hs_descriptors = acm_hs_function; > f_acm->usb_function.setup = acm_setup; > - f_acm->controller_index = 0; > + > + status = udc_device_get_by_index(0, &f_acm->udc); > + if (status) > + return status; > > status = usb_add_function(c, &f_acm->usb_function); > if (status) { > @@ -567,7 +570,7 @@ static int acm_stdio_tstc(struct stdio_dev *dev) > { > struct f_acm *f_acm = stdio_to_acm(dev); > > - usb_gadget_handle_interrupts(f_acm->controller_index); > + dm_usb_gadget_handle_interrupts(f_acm->udc); > > return (f_acm->rx_buf.size > 0); > } > -- > 2.40.1

