From: Hans de Goede <hdegoede@redhat.com>
To: "Rafael J . Wysocki" <rafael@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Daniel Scally <dan.scally@ideasonboard.com>
Cc: Hans de Goede <hdegoede@redhat.com>,
linux-acpi@vger.kernel.org,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Andy Shevchenko <andy@kernel.org>, Kate Hsuan <hpa@redhat.com>,
Hao Yao <hao.yao@intel.com>, Bingbu Cao <bingbu.cao@intel.com>,
linux-media@vger.kernel.org
Subject: [PATCH v3 06/18] media: ipu-bridge: Store dev pointer in struct ipu_bridge
Date: Wed, 5 Jul 2023 23:29:58 +0200 [thread overview]
Message-ID: <20230705213010.390849-7-hdegoede@redhat.com> (raw)
In-Reply-To: <20230705213010.390849-1-hdegoede@redhat.com>
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>
---
drivers/media/pci/intel/ipu-bridge.c | 15 +++++++--------
drivers/media/pci/intel/ipu-bridge.h | 1 +
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 9027a8d2d176..8e91d9b3e0fe 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 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
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];
--
2.41.0
next prev parent reply other threads:[~2023-07-05 21:32 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 21:29 [PATCH v3 00/18] media: ipu-bridge: Shared with atomisp, rework VCM instantiation Hans de Goede
2023-07-05 21:29 ` [PATCH v3 01/18] media: ipu-bridge: Fix null pointer deref on SSDB/PLD parsing warnings Hans de Goede
2023-07-06 13:07 ` Dan Scally
2023-07-05 21:29 ` [PATCH v3 02/18] media: ipu-bridge: Do not use on stack memory for software_node.name field Hans de Goede
2023-07-05 21:29 ` [PATCH v3 03/18] media: ipu-bridge: Move initialization of node_names.vcm to ipu_bridge_init_swnode_names() Hans de Goede
2023-07-05 21:29 ` [PATCH v3 04/18] media: ipu-bridge: Allow building as module Hans de Goede
2023-07-06 9:47 ` Andy Shevchenko
2023-07-05 21:29 ` [PATCH v3 05/18] media: ipu-bridge: Make ipu_bridge_init() take a regular struct device as argument Hans de Goede
2023-07-05 21:29 ` Hans de Goede [this message]
2023-07-05 21:29 ` [PATCH v3 07/18] media: ipu-bridge: Only keep PLD around while parsing Hans de Goede
2023-07-05 21:30 ` [PATCH v3 08/18] media: ipu-bridge: Add a ipu_bridge_parse_ssdb() helper function Hans de Goede
2023-07-05 21:30 ` [PATCH v3 09/18] media: ipu-bridge: Drop early setting of sensor->adev Hans de Goede
2023-07-05 21:30 ` [PATCH v3 10/18] media: ipu-bridge: Add a parse_sensor_fwnode callback to ipu_bridge_init() Hans de Goede
2023-07-06 9:50 ` Andy Shevchenko
2023-07-05 21:30 ` [PATCH v3 11/18] media: ipu-bridge: Move ipu-bridge.h to include/media/ Hans de Goede
2023-07-05 21:30 ` [PATCH v3 12/18] media: ipu-bridge: Add GalaxyCore GC0310 to ipu_supported_sensors[] Hans de Goede
2023-07-05 21:30 ` [PATCH v3 13/18] media: ipu-bridge: Add a runtime-pm device-link between VCM and sensor Hans de Goede
2023-07-05 21:30 ` [PATCH v3 14/18] media: i2c: Add driver for DW9719 VCM Hans de Goede
2023-07-06 7:47 ` Sakari Ailus
2023-07-06 9:14 ` Andy Shevchenko
2023-07-06 9:30 ` Sakari Ailus
2023-07-06 10:06 ` Andy Shevchenko
2023-07-06 10:27 ` Sakari Ailus
2023-07-06 10:48 ` Andy Shevchenko
2023-07-06 11:02 ` Sakari Ailus
2023-07-06 14:34 ` Hans de Goede
2023-07-06 14:47 ` Andy Shevchenko
2023-07-06 11:18 ` Dave Stevenson
2023-07-06 12:34 ` Hans de Goede
2023-07-06 12:52 ` Hans de Goede
2023-07-05 21:30 ` [PATCH v3 15/18] ACPI: bus: Introduce acpi_match_acpi_device() function Hans de Goede
2023-07-06 9:19 ` Andy Shevchenko
2023-07-06 12:29 ` Hans de Goede
2023-07-06 12:40 ` Andy Shevchenko
2023-07-06 13:26 ` Rafael J. Wysocki
2023-07-06 13:28 ` Hans de Goede
2023-07-06 13:31 ` Andy Shevchenko
2023-07-05 21:30 ` [PATCH v3 16/18] media: atomisp: csi2-bridge: Switch to new common ipu_bridge_init() Hans de Goede
2023-07-05 21:30 ` [PATCH v3 17/18] media: atomisp: csi2-bridge: Add dev_name() to acpi_handle_info() logging Hans de Goede
2023-07-06 10:09 ` Andy Shevchenko
2023-07-06 11:12 ` Laurent Pinchart
2023-07-06 12:23 ` Andy Shevchenko
2023-07-06 13:07 ` Laurent Pinchart
2023-07-06 13:22 ` Andy Shevchenko
2023-07-06 13:43 ` Sakari Ailus
2023-07-05 21:30 ` [PATCH v3 18/18] media: atomisp: csi2-bridge: Add support for VCM I2C-client instantiation Hans de Goede
2023-07-06 10:15 ` Andy Shevchenko
2023-07-06 12:31 ` Hans de Goede
2023-07-06 12:42 ` Andy Shevchenko
2023-07-06 12:47 ` Hans de Goede
2023-07-06 12:56 ` Andy Shevchenko
2023-07-06 12:58 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230705213010.390849-7-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=andy@kernel.org \
--cc=bingbu.cao@intel.com \
--cc=dan.scally@ideasonboard.com \
--cc=hao.yao@intel.com \
--cc=hpa@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox