Re: [RFC PATCH v4 1/1] serial: core: Start managing serial controllers to enable runtime PM

From: Tony Lindgren
Date: Thu Dec 08 2022 - 05:15:55 EST


* Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> [221208 09:12]:
> On Wed, 7 Dec 2022, Tony Lindgren wrote:
> > + ret = serial_core_add_one_port(drv, port);
> > + if (ret)
> > + return ret;
> > +
> > + mutex_lock(&port_mutex);
> > +
> > + /* Inititalize a serial core controller device if needed */
> > + ctrl_dev = serial_core_ctrl_find(drv, port->dev, port->ctrl_id);
> > + if (!ctrl_dev) {
> > + ctrl_dev = serial_core_ctrl_device_add(port);
> > + if (!ctrl_dev)
> > + goto err_remove_port;
> > + allocated = true;
> > + }
> > +
> > + /* Initialize a serial core port device */
> > + ret = serial_core_port_device_add(ctrl_dev, port);
>
> How is ->port_dev supposed to work here?
>
> ->port_dev is not set until in serial_core_port_device_add() but you made
> serial_core_add_one_port() call before that.

Hmm do you mean you want to call serial_core_add_one_port() later after
serial_core_port_device_add()?

Or are you seeing some uninitialized use of port->port_dev (and not
port->dev)?

Regards,

Tony