Re: [PATCH v3 14/14] ipu3-cio2: Add cio2-bridge to ipu3-cio2 driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andy

On 24/12/2020 12:54, Andy Shevchenko wrote:
> On Thu, Dec 24, 2020 at 3:12 AM Daniel Scally <djrscally@xxxxxxxxx> wrote:
>>
>> Currently on platforms designed for Windows, connections between CIO2 and
>> sensors are not properly defined in DSDT. This patch extends the ipu3-cio2
>> driver to compensate by building software_node connections, parsing the
>> connection properties from the sensor's SSDB buffer.
> 
> Few nitpicks below, after addressing them
> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>

Thanks, and for all the time you've put into this series

>> +/*
>> + * Extend this array with ACPI Hardware ID's of devices known to be working
> 
> ID's -> IDs ?

Yes, turns out I'm pretty bad at apostrophes.

>> +static void cio2_bridge_create_fwnode_properties(struct cio2_sensor *sensor,
>> +                                                const struct cio2_sensor_config *cfg)
>> +{
>> +       unsigned int i;
>> +
>> +       sensor->prop_names = prop_names;
>> +
>> +       for (i = 0; i < 4; i++)
> 
> 4 here and below, can we have a local define for them, like
> 
>   #define CIO2_MAX_LANES  4

Done and for the other place it's mentioned below.

>> +static int cio2_bridge_connect_sensors(struct cio2_bridge *bridge,
>> +                                      struct pci_dev *cio2)
>> +{
>> +       struct fwnode_handle *fwnode;
>> +       struct cio2_sensor *sensor;
>> +       struct acpi_device *adev;
>> +       unsigned int i;
>> +       int ret = 0;
> 
> You may drop this assignment and...
> 
...
> 
>> +       return ret;
> 
> ...use here
> 
>   return 0;
> 
> directly.

Done

>> +enum cio2_sensor_swnodes {
>> +       SWNODE_SENSOR_HID,
>> +       SWNODE_SENSOR_PORT,
>> +       SWNODE_SENSOR_ENDPOINT,
>> +       SWNODE_CIO2_PORT,
>> +       SWNODE_CIO2_ENDPOINT,
> 
>> +       SWNODE_COUNT,
> 
> No comma?

Done

>> @@ -1715,6 +1732,23 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
>>                 return -ENOMEM;
>>         cio2->pci_dev = pci_dev;
>>
>> +       /*
>> +        * On some platforms no connections to sensors are defined in firmware,
>> +        * if the device has no endpoints then we can try to build those as
>> +        * software_nodes parsed from SSDB.
>> +        */
>> +       if (!cio2_check_fwnode_graph(fwnode)) {
>> +               if (fwnode && !IS_ERR_OR_NULL(fwnode->secondary)) {
> 
>> +                       dev_err(&pci_dev->dev,
>> +                               "fwnode graph has no endpoints connected\n");
> 
> One line?

Done



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux