summaryrefslogtreecommitdiff
path: root/drivers/media/pci/intel
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2023-07-05 23:29:58 +0200
committerMauro Carvalho Chehab <mchehab@kernel.org>2023-08-10 07:58:40 +0200
commitd3cb5f61cdac7931de7fe7061f6d11bf3a0e9e3b (patch)
tree1d04c7e7203be3935bf2f459a4e55dfbcafba309 /drivers/media/pci/intel
parent928d8e2fa642ba0b0e39e43b5ca877d9ca80b81e (diff)
downloadlwn-d3cb5f61cdac7931de7fe7061f6d11bf3a0e9e3b.tar.gz
lwn-d3cb5f61cdac7931de7fe7061f6d11bf3a0e9e3b.zip
media: ipu-bridge: Store dev pointer in struct ipu_bridge
Store the dev pointer in struct ipu_bridge instead of passing it around 3 levels deep. This takes up slightly more memory but further patches in this series add more data which needs to be passed around making passing everything as arguments cumbersome and those further patches also add data to struct ipu_bridge. To be consistent with these upcoming patches also add the dev pointer to struct ipu_bridge. Reviewed-by: Andy Shevchenko <andy@kernel.org> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/pci/intel')
-rw-r--r--drivers/media/pci/intel/ipu-bridge.c15
-rw-r--r--drivers/media/pci/intel/ipu-bridge.h1
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c
index 8f6f88f0ec95..df3b5b52e661 100644
--- a/drivers/media/pci/intel/ipu-bridge.c
+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -286,8 +286,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 device *dev)
+ struct ipu_bridge *bridge)
{
struct fwnode_handle *fwnode, *primary;
struct ipu_sensor *sensor;
@@ -301,7 +300,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(dev, "Exceeded available IPU ports\n");
+ dev_err(bridge->dev, "Exceeded available IPU ports\n");
return -EINVAL;
}
@@ -361,7 +360,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
ipu_bridge_instantiate_vcm_i2c_client(sensor);
- dev_info(dev, "Found supported sensor %s\n",
+ dev_info(bridge->dev, "Found supported sensor %s\n",
acpi_dev_name(adev));
bridge->n_sensors++;
@@ -378,8 +377,7 @@ err_put_adev:
return ret;
}
-static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
- struct device *dev)
+static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge)
{
unsigned int i;
int ret;
@@ -388,7 +386,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, dev);
+ ret = ipu_bridge_connect_sensor(cfg, bridge);
if (ret)
goto err_unregister_sensors;
}
@@ -451,6 +449,7 @@ int ipu_bridge_init(struct device *dev)
strscpy(bridge->ipu_node_name, IPU_HID,
sizeof(bridge->ipu_node_name));
bridge->ipu_hid_node.name = bridge->ipu_node_name;
+ bridge->dev = dev;
ret = software_node_register(&bridge->ipu_hid_node);
if (ret < 0) {
@@ -468,7 +467,7 @@ int ipu_bridge_init(struct device *dev)
for (i = 0; i < IPU_MAX_LANES; i++)
bridge->data_lanes[i] = i + 1;
- ret = ipu_bridge_connect_sensors(bridge, dev);
+ ret = ipu_bridge_connect_sensors(bridge);
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 8c1437f252d2..6cb68e3344dc 100644
--- a/drivers/media/pci/intel/ipu-bridge.h
+++ b/drivers/media/pci/intel/ipu-bridge.h
@@ -136,6 +136,7 @@ struct ipu_sensor {
};
struct ipu_bridge {
+ struct device *dev;
char ipu_node_name[ACPI_ID_LEN];
struct software_node ipu_hid_node;
u32 data_lanes[4];