mbox series

[v2,0/9] device connection: Add support for device graphs

Message ID 20190130160259.46919-1-heikki.krogerus@linux.intel.com (mailing list archive)
Headers show
Series device connection: Add support for device graphs | expand

Message

Heikki Krogerus Jan. 30, 2019, 4:02 p.m. UTC
Hi,

This is the second version of this series. On top the two code style
improvements requested by Andy, I also renamed the connection
identifiers used with the USB Type-C muxes for something that I felt
are better, especially after we start using them to name reference
device properties in fwnodes. That's why the first patch is now split
in two, 1/9 and 3/9.

Hans! Please note that there is no functional change. The alt mode
device is still getting a handle to the mux, just like before.
That was actually happening also in the first version of the series.

The commit message from v1:

This series adds support for OF and ACPI device graph parsing to the
device connection API.

Handling the graph is straightforward, but because I'm adding that
fwnode member to struct device_connection, I had to make sure all the
existing users consider it.

The plan is to only support matching with fwnode in the future, so no
more device name matching. The software fwnodes that we now have in
kernel should make that possible, once we add support for references
to them.

The original RFC:
https://lkml.org/lkml/2018/10/24/619

thanks,

Heikki Krogerus (9):
  platform/x86: intel_cht_int33fe: Prepare for better mux naming scheme
  usb: typec: Rationalize the API for the muxes
  platform/x86: intel_cht_int33fe: Remove old style mux connections
  device connection: Add fwnode member to struct device_connection
  usb: typec: mux: Find the muxes by also matching against the device
    node
  usb: roles: Find the muxes by also matching against the device node
  usb: typec: Find the ports by also matching against the device node
  device connection: Prepare support for firmware described connections
  device connection: Find device connections also from device graphs

 drivers/base/devcon.c                    | 62 ++++++++++++++-
 drivers/platform/x86/intel_cht_int33fe.c | 15 ++--
 drivers/usb/roles/class.c                | 21 +++++-
 drivers/usb/typec/class.c                | 31 ++++++--
 drivers/usb/typec/mux.c                  | 96 ++++++++++++++++++++----
 include/linux/device.h                   |  6 ++
 include/linux/usb/role.h                 |  1 +
 include/linux/usb/typec_mux.h            |  3 +-
 8 files changed, 195 insertions(+), 40 deletions(-)

Comments

Hans de Goede Jan. 31, 2019, 10:06 a.m. UTC | #1
Hi,

On 30-01-19 17:02, Heikki Krogerus wrote:
> Hi,
> 
> This is the second version of this series. On top the two code style
> improvements requested by Andy, I also renamed the connection
> identifiers used with the USB Type-C muxes for something that I felt
> are better, especially after we start using them to name reference
> device properties in fwnodes. That's why the first patch is now split
> in two, 1/9 and 3/9.
> 
> Hans! Please note that there is no functional change. The alt mode
> device is still getting a handle to the mux, just like before.

Ack.

I've reviewed the entire series and it looks good to me.

Patches 1-3 are:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

I'm slightly less familiar with the material in patches 4-9, so they
are:

Acked-by: Hans de Goede <hdegoede@redhat.com>

I will also add this series to my personal git tree for testing.

Regards,

Hans




> That was actually happening also in the first version of the series.
> 
> The commit message from v1:
> 
> This series adds support for OF and ACPI device graph parsing to the
> device connection API.
> 
> Handling the graph is straightforward, but because I'm adding that
> fwnode member to struct device_connection, I had to make sure all the
> existing users consider it.
> 
> The plan is to only support matching with fwnode in the future, so no
> more device name matching. The software fwnodes that we now have in
> kernel should make that possible, once we add support for references
> to them.
> 
> The original RFC:
> https://lkml.org/lkml/2018/10/24/619
> 
> thanks,
> 
> Heikki Krogerus (9):
>    platform/x86: intel_cht_int33fe: Prepare for better mux naming scheme
>    usb: typec: Rationalize the API for the muxes
>    platform/x86: intel_cht_int33fe: Remove old style mux connections
>    device connection: Add fwnode member to struct device_connection
>    usb: typec: mux: Find the muxes by also matching against the device
>      node
>    usb: roles: Find the muxes by also matching against the device node
>    usb: typec: Find the ports by also matching against the device node
>    device connection: Prepare support for firmware described connections
>    device connection: Find device connections also from device graphs
> 
>   drivers/base/devcon.c                    | 62 ++++++++++++++-
>   drivers/platform/x86/intel_cht_int33fe.c | 15 ++--
>   drivers/usb/roles/class.c                | 21 +++++-
>   drivers/usb/typec/class.c                | 31 ++++++--
>   drivers/usb/typec/mux.c                  | 96 ++++++++++++++++++++----
>   include/linux/device.h                   |  6 ++
>   include/linux/usb/role.h                 |  1 +
>   include/linux/usb/typec_mux.h            |  3 +-
>   8 files changed, 195 insertions(+), 40 deletions(-)
>
Heikki Krogerus Jan. 31, 2019, 1:36 p.m. UTC | #2
On Thu, Jan 31, 2019 at 11:06:29AM +0100, Hans de Goede wrote:
> Hi,
> 
> On 30-01-19 17:02, Heikki Krogerus wrote:
> > Hi,
> > 
> > This is the second version of this series. On top the two code style
> > improvements requested by Andy, I also renamed the connection
> > identifiers used with the USB Type-C muxes for something that I felt
> > are better, especially after we start using them to name reference
> > device properties in fwnodes. That's why the first patch is now split
> > in two, 1/9 and 3/9.
> > 
> > Hans! Please note that there is no functional change. The alt mode
> > device is still getting a handle to the mux, just like before.
> 
> Ack.
> 
> I've reviewed the entire series and it looks good to me.
> 
> Patches 1-3 are:
> 
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> 
> I'm slightly less familiar with the material in patches 4-9, so they
> are:
> 
> Acked-by: Hans de Goede <hdegoede@redhat.com>
> 
> I will also add this series to my personal git tree for testing.

Cool!

Thanks Hans!
Jun Li Feb. 12, 2019, 10:44 a.m. UTC | #3
Hi
> -----Original Message-----
> From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Sent: 2019年1月31日 0:03
> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Andy Shevchenko <andy.shevchenko@gmail.com>; Chen Yu
> <chenyu56@huawei.com>; Jun Li <jun.li@nxp.com>; Hans de Goede
> <hdegoede@redhat.com>; linux-usb@vger.kernel.org;
> linux-kernel@vger.kernel.org
> Subject: [PATCH v2 0/9] device connection: Add support for device graphs
> 
> Hi,
> 
> This is the second version of this series. On top the two code style improvements
> requested by Andy, I also renamed the connection identifiers used with the USB
> Type-C muxes for something that I felt are better, especially after we start using
> them to name reference device properties in fwnodes. That's why the first patch is
> now split in two, 1/9 and 3/9.
> 
> Hans! Please note that there is no functional change. The alt mode device is still
> getting a handle to the mux, just like before.
> That was actually happening also in the first version of the series.
> 
> The commit message from v1:
> 
> This series adds support for OF and ACPI device graph parsing to the device
> connection API.
> 
> Handling the graph is straightforward, but because I'm adding that fwnode member
> to struct device_connection, I had to make sure all the existing users consider it.
> 
> The plan is to only support matching with fwnode in the future, so no more device
> name matching. The software fwnodes that we now have in kernel should make that
> possible, once we add support for references to them.
> 
> The original RFC:
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.org%
> 2Flkml%2F2018%2F10%2F24%2F619&amp;data=02%7C01%7Cjun.li%40nxp.co
> m%7C2fd7c8c28d67434354be08d686cc6b55%7C686ea1d3bc2b4c6fa92cd99c5c
> 301635%7C0%7C0%7C636844609858846167&amp;sdata=AWDD9WaO%2BXxM
> Izlli6GUNEq%2FqUpa5hSyLbBsjICdLIo%3D&amp;reserved=0
> 
> thanks,
> 
> Heikki Krogerus (9):
>   platform/x86: intel_cht_int33fe: Prepare for better mux naming scheme
>   usb: typec: Rationalize the API for the muxes
>   platform/x86: intel_cht_int33fe: Remove old style mux connections
>   device connection: Add fwnode member to struct device_connection
>   usb: typec: mux: Find the muxes by also matching against the device
>     node
>   usb: roles: Find the muxes by also matching against the device node
>   usb: typec: Find the ports by also matching against the device node
>   device connection: Prepare support for firmware described connections
>   device connection: Find device connections also from device graphs
> 
>  drivers/base/devcon.c                    | 62 ++++++++++++++-
>  drivers/platform/x86/intel_cht_int33fe.c | 15 ++--
>  drivers/usb/roles/class.c                | 21 +++++-
>  drivers/usb/typec/class.c                | 31 ++++++--
>  drivers/usb/typec/mux.c                  | 96 ++++++++++++++++++++----
>  include/linux/device.h                   |  6 ++
>  include/linux/usb/role.h                 |  1 +
>  include/linux/usb/typec_mux.h            |  3 +-
>  8 files changed, 195 insertions(+), 40 deletions(-)
> 
> --
> 2.20.1

I tested this series on dwc3+typec, for usb role switch and typec switch common part
Reviewed-by: Jun Li <jun.li@nxp.com>
Tested-by: Jun Li <jun.li@nxp.com>
Heikki Krogerus Feb. 12, 2019, 11:31 a.m. UTC | #4
On Tue, Feb 12, 2019 at 10:44:35AM +0000, Jun Li wrote:
> Hi
> > -----Original Message-----
> > From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > Sent: 2019年1月31日 0:03
> > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: Andy Shevchenko <andy.shevchenko@gmail.com>; Chen Yu
> > <chenyu56@huawei.com>; Jun Li <jun.li@nxp.com>; Hans de Goede
> > <hdegoede@redhat.com>; linux-usb@vger.kernel.org;
> > linux-kernel@vger.kernel.org
> > Subject: [PATCH v2 0/9] device connection: Add support for device graphs
> > 
> > Hi,
> > 
> > This is the second version of this series. On top the two code style improvements
> > requested by Andy, I also renamed the connection identifiers used with the USB
> > Type-C muxes for something that I felt are better, especially after we start using
> > them to name reference device properties in fwnodes. That's why the first patch is
> > now split in two, 1/9 and 3/9.
> > 
> > Hans! Please note that there is no functional change. The alt mode device is still
> > getting a handle to the mux, just like before.
> > That was actually happening also in the first version of the series.
> > 
> > The commit message from v1:
> > 
> > This series adds support for OF and ACPI device graph parsing to the device
> > connection API.
> > 
> > Handling the graph is straightforward, but because I'm adding that fwnode member
> > to struct device_connection, I had to make sure all the existing users consider it.
> > 
> > The plan is to only support matching with fwnode in the future, so no more device
> > name matching. The software fwnodes that we now have in kernel should make that
> > possible, once we add support for references to them.
> > 
> > The original RFC:
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.org%
> > 2Flkml%2F2018%2F10%2F24%2F619&amp;data=02%7C01%7Cjun.li%40nxp.co
> > m%7C2fd7c8c28d67434354be08d686cc6b55%7C686ea1d3bc2b4c6fa92cd99c5c
> > 301635%7C0%7C0%7C636844609858846167&amp;sdata=AWDD9WaO%2BXxM
> > Izlli6GUNEq%2FqUpa5hSyLbBsjICdLIo%3D&amp;reserved=0
> > 
> > thanks,
> > 
> > Heikki Krogerus (9):
> >   platform/x86: intel_cht_int33fe: Prepare for better mux naming scheme
> >   usb: typec: Rationalize the API for the muxes
> >   platform/x86: intel_cht_int33fe: Remove old style mux connections
> >   device connection: Add fwnode member to struct device_connection
> >   usb: typec: mux: Find the muxes by also matching against the device
> >     node
> >   usb: roles: Find the muxes by also matching against the device node
> >   usb: typec: Find the ports by also matching against the device node
> >   device connection: Prepare support for firmware described connections
> >   device connection: Find device connections also from device graphs
> > 
> >  drivers/base/devcon.c                    | 62 ++++++++++++++-
> >  drivers/platform/x86/intel_cht_int33fe.c | 15 ++--
> >  drivers/usb/roles/class.c                | 21 +++++-
> >  drivers/usb/typec/class.c                | 31 ++++++--
> >  drivers/usb/typec/mux.c                  | 96 ++++++++++++++++++++----
> >  include/linux/device.h                   |  6 ++
> >  include/linux/usb/role.h                 |  1 +
> >  include/linux/usb/typec_mux.h            |  3 +-
> >  8 files changed, 195 insertions(+), 40 deletions(-)
> > 
> > --
> > 2.20.1
> 
> I tested this series on dwc3+typec, for usb role switch and typec switch common part
> Reviewed-by: Jun Li <jun.li@nxp.com>
> Tested-by: Jun Li <jun.li@nxp.com>

Thanks Jun.

I'm going to send one more version, and fix the description of the
struct usb_role_switch_desc like you proposed.

Since the fix will only add one comment line to the code, I'm going to
take the liberty to add your Reviewed-by and Tested-by tags this
time (I don't usually like to carry them to new versions of patches).
I'll do the same with the others.


thanks,