On Tue, Apr 12, 2016 at 06:12:04AM -0700, Greg KH wrote: > On Tue, Apr 12, 2016 at 02:43:36PM +0300, Heikki Krogerus wrote: > > + ucsi.usb_data_role= > > Ick, this isn't the 1990's anymore, please don't use module parameters > for anything that is required for a driver. Make it automatic if at all > possible, and if not, then make it at the least, a per-device attribute. OK, makes sense. > > +struct ucsi { > > + struct device *dev; > > + struct ucsi_data __iomem *data; > > + > > + int status; > > + struct completion complete; > > + struct ucsi_capability cap; > > + struct ucsi_connector *connector; > > + > > + struct mutex ppm_lock; > > What does this lock? Document it please. Will do. > > + atomic_t event_pending; > > Your atomic_t is a poor-man's lock, I don't see why it's even needed. > If you feel you need to keep it around, you better document the heck out > of it proving that you used it correctly everywhere (hint, I saw a few > places it was not used correctly...) You are correct, there is no use for it. I'll get rid of it. > > +static void ucsi_acpi_notify(acpi_handle handle, u32 event, void *data) > > +{ > > + struct ucsi *ucsi = data; > > + u32 cci = ucsi->data->cci; > > + > > + dev_dbg(ucsi->dev, "%s: cci 0x%x\n", __func__, cci); > > Delete all of your debugging code please, that's what ftrace is for. OK. > > + if (!atomic_read(&ucsi->event_pending)) { > > + atomic_inc(&ucsi->event_pending); > > Oh look, a bug :( > > Again, document it if you think you need it, but really, I think you can > get rid of it entirely. Yes, I'll get rid of it. Thanks, -- heikki -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html