From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: Re: [PATCH v3 1/2] drivers/base: permit base components to omit the bind/unbind ops Date: Mon, 10 Feb 2014 13:53:08 +0100 Message-ID: <20140210125307.GG20143@ulmo.nvidia.com> References: <9b3c3c2c982f31b026fd1516a2b608026d55b1e9.1391792986.git.moinejf@free.fr> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="4ndw/alBWmZEhfcZ" Return-path: Content-Disposition: inline In-Reply-To: <9b3c3c2c982f31b026fd1516a2b608026d55b1e9.1391792986.git.moinejf@free.fr> Sender: linux-media-owner@vger.kernel.org To: Jean-Francois Moine Cc: Russell King , devel@driverdev.osuosl.org, alsa-devel@alsa-project.org, Takashi Iwai , Greg Kroah-Hartman , dri-devel@lists.freedesktop.org, Sascha Hauer , linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org List-Id: alsa-devel@alsa-project.org --4ndw/alBWmZEhfcZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Feb 07, 2014 at 04:55:00PM +0100, Jean-Francois Moine wrote: > Some simple components don't need to do any specific action on > bind to / unbind from a master component. >=20 > This patch permits such components to omit the bind/unbind > operations. >=20 > Signed-off-by: Jean-Francois Moine > --- > drivers/base/component.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) >=20 > diff --git a/drivers/base/component.c b/drivers/base/component.c > index c53efe6..0a39d7a 100644 > --- a/drivers/base/component.c > +++ b/drivers/base/component.c > @@ -225,7 +225,8 @@ static void component_unbind(struct component *compon= ent, > { > WARN_ON(!component->bound); > =20 > - component->ops->unbind(component->dev, master->dev, data); > + if (component->ops) > + component->ops->unbind(component->dev, master->dev, data); This doesn't actually do what the commit message says. This makes component->ops optional, not component->ops->unbind(). A more correct check would be: if (component->ops && component->ops->unbind) > component->bound =3D false; > =20 > /* Release all resources claimed in the binding of this component */ > @@ -274,7 +275,11 @@ static int component_bind(struct component *componen= t, struct master *master, > dev_dbg(master->dev, "binding %s (ops %ps)\n", > dev_name(component->dev), component->ops); > =20 > - ret =3D component->ops->bind(component->dev, master->dev, data); > + if (component->ops) > + ret =3D component->ops->bind(component->dev, master->dev, data); Same here. Thierry --4ndw/alBWmZEhfcZ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJS+MuzAAoJEN0jrNd/PrOhD+YP/0yqsCV8/Kk54U0h4ijYsxXa g20qgFqu3Ggy2WRUtbY831emWdP1PZk1J9n9pqKIKOQa8BDCpIMlQitdIxkZxuur 0xAdUHIzp6ZerhnxrM8hJW9d2GTCHLWZMGXmY0UrN2X4njQbmplfXRwd1/mu9eMt X06nX9aTOOsBLLtnZsIl/IdYIB4dhsLRnon0mUkfJhfcjuivPathgNG562HyTk8q X90y4bHvHfM+4cqick02eeQ36i+C9FZlcuMYGcgxRIf13g0Xu9K02N+cY58aBpRi 0TeC/9In4BPKx8I+baAdIARE6DPXfHfM6vLOBgblXZePAsTv07fLcVdEQPnQHDPS Fn03qQL9WxQW31cx17DQ4T1fav80WqlNGXIweStc1F85ZzCqgP+RDgQNA+K/r2Sb B2l8l+weCYkm25/IpdEKUI21wvarixzDhs1Jv6VAoP7FLoVPW2RSBBQOFoKa5INK TmWZKSf6W4NrXZ1Vh4BQBRL4LEixt6ikxmUgli5sTc2KDzMnxsI6EQLK6TJjoVqM 3GcW6ljWAuFKqAUniS0xnR2vgHy7GpIANYANpWUmtuNBJEYXKojOYDD9CSgGKHze l9HVif8Tm5Yqbwwm8YQAtcJ3BsFM8I/N8u8ZozKtGQIMFmtDbL1/Rjvt4Jd/sUGn 2YKbQ6LPZk8hKR4JQo2D =VtBy -----END PGP SIGNATURE----- --4ndw/alBWmZEhfcZ-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: thierry.reding@gmail.com (Thierry Reding) Date: Mon, 10 Feb 2014 13:53:08 +0100 Subject: [PATCH v3 1/2] drivers/base: permit base components to omit the bind/unbind ops In-Reply-To: <9b3c3c2c982f31b026fd1516a2b608026d55b1e9.1391792986.git.moinejf@free.fr> References: <9b3c3c2c982f31b026fd1516a2b608026d55b1e9.1391792986.git.moinejf@free.fr> Message-ID: <20140210125307.GG20143@ulmo.nvidia.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Feb 07, 2014 at 04:55:00PM +0100, Jean-Francois Moine wrote: > Some simple components don't need to do any specific action on > bind to / unbind from a master component. > > This patch permits such components to omit the bind/unbind > operations. > > Signed-off-by: Jean-Francois Moine > --- > drivers/base/component.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/component.c b/drivers/base/component.c > index c53efe6..0a39d7a 100644 > --- a/drivers/base/component.c > +++ b/drivers/base/component.c > @@ -225,7 +225,8 @@ static void component_unbind(struct component *component, > { > WARN_ON(!component->bound); > > - component->ops->unbind(component->dev, master->dev, data); > + if (component->ops) > + component->ops->unbind(component->dev, master->dev, data); This doesn't actually do what the commit message says. This makes component->ops optional, not component->ops->unbind(). A more correct check would be: if (component->ops && component->ops->unbind) > component->bound = false; > > /* Release all resources claimed in the binding of this component */ > @@ -274,7 +275,11 @@ static int component_bind(struct component *component, struct master *master, > dev_dbg(master->dev, "binding %s (ops %ps)\n", > dev_name(component->dev), component->ops); > > - ret = component->ops->bind(component->dev, master->dev, data); > + if (component->ops) > + ret = component->ops->bind(component->dev, master->dev, data); Same here. Thierry -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: not available URL: