On 22.11.2021 18:50:00, Aswath Govindraju wrote: > > What about adding a devm_mux_control_get_optional(), which doesn't > > return a -ENODEV but a NULL pointer if the device doesn't exist? > > > > I tried adding it in the following manner, > > +/** > + * devm_mux_control_optional_get() - Optionally get the mux-control for a > + * device, with resource management. > + * @dev: The device that needs a mux-control. > + * @mux_name: The name identifying the mux-control. > + * > + * This differs from devm_mux_control_get in that if the mux does not > + * exist, it is not considered an error and -ENODEV will not be > + * returned. Instead the NULL is returned. > + * > + * Return: Pointer to the mux-control, or an ERR_PTR with a negative errno. > + */ > +struct mux_control *devm_mux_control_optional_get(struct device *dev, > + const char *mux_name) > +{ > + struct mux_control *mux_ctrl; > + > + mux_ctrl = devm_mux_control_get(dev, mux_name); > + if (PTR_ERR(mux_ctrl) == -ENOENT) > + mux_ctrl = NULL; > + > + return mux_ctrl; > +} > +EXPORT_SYMBOL_GPL(devm_mux_control_optional_get); > + > > However the issue is that there is a print in mux_control_get() > dev_err(dev, "%pOF: failed to get mux-control %s(%i)\n", > > which is getting printed, whenever mux-controls property is not found. > Therefore, I was not sure about how to go about this issue and did not > implement it. Ok, this would require more tweaking in the mux layer. Then leave it as is. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: PGP signature