[v2,05/15] media: ipu-bridge: Make ipu_bridge_init() take a regular struct device as argument
Commit Message
Make ipu_bridge_init() take a regular struct device, rather then
a pci_dev as argument.
This is a preparation patch for making the ipu-bridge code more generic
so that it can be shared with the atomisp driver.
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/media/pci/intel/ipu-bridge.c | 16 +++++++---------
drivers/media/pci/intel/ipu-bridge.h | 4 ++--
drivers/media/pci/intel/ipu3/ipu3-cio2.c | 2 +-
3 files changed, 10 insertions(+), 12 deletions(-)
Comments
On 30/06/2023 13:06, Hans de Goede wrote:
> Make ipu_bridge_init() take a regular struct device, rather then
> a pci_dev as argument.
>
> This is a preparation patch for making the ipu-bridge code more generic
> so that it can be shared with the atomisp driver.
>
> Reviewed-by: Andy Shevchenko <andy@kernel.org>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
And same for 6/15.
> drivers/media/pci/intel/ipu-bridge.c | 16 +++++++---------
> drivers/media/pci/intel/ipu-bridge.h | 4 ++--
> drivers/media/pci/intel/ipu3/ipu3-cio2.c | 2 +-
> 3 files changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c
> index 97b544736af2..9027a8d2d176 100644
> --- a/drivers/media/pci/intel/ipu-bridge.c
> +++ b/drivers/media/pci/intel/ipu-bridge.c
> @@ -4,7 +4,6 @@
> #include <linux/acpi.h>
> #include <linux/device.h>
> #include <linux/i2c.h>
> -#include <linux/pci.h>
> #include <linux/property.h>
> #include <media/v4l2-fwnode.h>
>
> @@ -288,7 +287,7 @@ static void ipu_bridge_unregister_sensors(struct ipu_bridge *bridge)
>
> static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
> struct ipu_bridge *bridge,
> - struct pci_dev *ipu)
> + struct device *dev)
> {
> struct fwnode_handle *fwnode, *primary;
> struct ipu_sensor *sensor;
> @@ -302,7 +301,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
>
> if (bridge->n_sensors >= IPU_MAX_PORTS) {
> acpi_dev_put(adev);
> - dev_err(&ipu->dev, "Exceeded available IPU ports\n");
> + dev_err(dev, "Exceeded available IPU ports\n");
> return -EINVAL;
> }
>
> @@ -362,7 +361,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
>
> ipu_bridge_instantiate_vcm_i2c_client(sensor);
>
> - dev_info(&ipu->dev, "Found supported sensor %s\n",
> + dev_info(dev, "Found supported sensor %s\n",
> acpi_dev_name(adev));
>
> bridge->n_sensors++;
> @@ -380,7 +379,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
> }
>
> static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
> - struct pci_dev *ipu)
> + struct device *dev)
> {
> unsigned int i;
> int ret;
> @@ -389,7 +388,7 @@ static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
> const struct ipu_sensor_config *cfg =
> &ipu_supported_sensors[i];
>
> - ret = ipu_bridge_connect_sensor(cfg, bridge, ipu);
> + ret = ipu_bridge_connect_sensor(cfg, bridge, dev);
> if (ret)
> goto err_unregister_sensors;
> }
> @@ -435,9 +434,8 @@ static int ipu_bridge_sensors_are_ready(void)
> return ready;
> }
>
> -int ipu_bridge_init(struct pci_dev *ipu)
> +int ipu_bridge_init(struct device *dev)
> {
> - struct device *dev = &ipu->dev;
> struct fwnode_handle *fwnode;
> struct ipu_bridge *bridge;
> unsigned int i;
> @@ -470,7 +468,7 @@ int ipu_bridge_init(struct pci_dev *ipu)
> for (i = 0; i < IPU_MAX_LANES; i++)
> bridge->data_lanes[i] = i + 1;
>
> - ret = ipu_bridge_connect_sensors(bridge, ipu);
> + ret = ipu_bridge_connect_sensors(bridge, dev);
> if (ret || bridge->n_sensors == 0)
> goto err_unregister_ipu;
>
> diff --git a/drivers/media/pci/intel/ipu-bridge.h b/drivers/media/pci/intel/ipu-bridge.h
> index 6cce712a0f34..8c1437f252d2 100644
> --- a/drivers/media/pci/intel/ipu-bridge.h
> +++ b/drivers/media/pci/intel/ipu-bridge.h
> @@ -144,9 +144,9 @@ struct ipu_bridge {
> };
>
> #if IS_ENABLED(CONFIG_IPU_BRIDGE)
> -int ipu_bridge_init(struct pci_dev *ipu);
> +int ipu_bridge_init(struct device *dev);
> #else
> -static inline int ipu_bridge_init(struct pci_dev *ipu) { return 0; }
> +static inline int ipu_bridge_init(struct device *dev) { return 0; }
> #endif
>
> #endif
> diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/intel/ipu3/ipu3-cio2.c
> index dc09fbdb062b..4068fa0a5ecf 100644
> --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c
> +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c
> @@ -1725,7 +1725,7 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
> return -EINVAL;
> }
>
> - r = ipu_bridge_init(pci_dev);
> + r = ipu_bridge_init(dev);
> if (r)
> return r;
> }
@@ -4,7 +4,6 @@
#include <linux/acpi.h>
#include <linux/device.h>
#include <linux/i2c.h>
-#include <linux/pci.h>
#include <linux/property.h>
#include <media/v4l2-fwnode.h>
@@ -288,7 +287,7 @@ static void ipu_bridge_unregister_sensors(struct ipu_bridge *bridge)
static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
struct ipu_bridge *bridge,
- struct pci_dev *ipu)
+ struct device *dev)
{
struct fwnode_handle *fwnode, *primary;
struct ipu_sensor *sensor;
@@ -302,7 +301,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
if (bridge->n_sensors >= IPU_MAX_PORTS) {
acpi_dev_put(adev);
- dev_err(&ipu->dev, "Exceeded available IPU ports\n");
+ dev_err(dev, "Exceeded available IPU ports\n");
return -EINVAL;
}
@@ -362,7 +361,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
ipu_bridge_instantiate_vcm_i2c_client(sensor);
- dev_info(&ipu->dev, "Found supported sensor %s\n",
+ dev_info(dev, "Found supported sensor %s\n",
acpi_dev_name(adev));
bridge->n_sensors++;
@@ -380,7 +379,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
}
static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
- struct pci_dev *ipu)
+ struct device *dev)
{
unsigned int i;
int ret;
@@ -389,7 +388,7 @@ static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
const struct ipu_sensor_config *cfg =
&ipu_supported_sensors[i];
- ret = ipu_bridge_connect_sensor(cfg, bridge, ipu);
+ ret = ipu_bridge_connect_sensor(cfg, bridge, dev);
if (ret)
goto err_unregister_sensors;
}
@@ -435,9 +434,8 @@ static int ipu_bridge_sensors_are_ready(void)
return ready;
}
-int ipu_bridge_init(struct pci_dev *ipu)
+int ipu_bridge_init(struct device *dev)
{
- struct device *dev = &ipu->dev;
struct fwnode_handle *fwnode;
struct ipu_bridge *bridge;
unsigned int i;
@@ -470,7 +468,7 @@ int ipu_bridge_init(struct pci_dev *ipu)
for (i = 0; i < IPU_MAX_LANES; i++)
bridge->data_lanes[i] = i + 1;
- ret = ipu_bridge_connect_sensors(bridge, ipu);
+ ret = ipu_bridge_connect_sensors(bridge, dev);
if (ret || bridge->n_sensors == 0)
goto err_unregister_ipu;
@@ -144,9 +144,9 @@ struct ipu_bridge {
};
#if IS_ENABLED(CONFIG_IPU_BRIDGE)
-int ipu_bridge_init(struct pci_dev *ipu);
+int ipu_bridge_init(struct device *dev);
#else
-static inline int ipu_bridge_init(struct pci_dev *ipu) { return 0; }
+static inline int ipu_bridge_init(struct device *dev) { return 0; }
#endif
#endif
@@ -1725,7 +1725,7 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
return -EINVAL;
}
- r = ipu_bridge_init(pci_dev);
+ r = ipu_bridge_init(dev);
if (r)
return r;
}