Commit 84524b1d authored by Ricardo Ribalda's avatar Ricardo Ribalda Committed by Rafael J. Wysocki
Browse files

media: ipu-bridge: Remove unneeded conditional compilations



The ACPI headers have introduced implementations for some of their
functions when the kernel is not configured with ACPI.

Let's use them instead of our conditional compilation. It is easier to
maintain and less prone to errors.

Reviewed-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Acked-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
Link: https://patch.msgid.link/20241216-fix-ipu-v5-7-3d6b35ddce7b@chromium.org


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 78c3227c
Loading
Loading
Loading
Loading
+4 −25
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
/* Author: Dan Scally <djrscally@gmail.com> */

#include <linux/acpi.h>
#include <acpi/acpi_bus.h>
#include <linux/cleanup.h>
#include <linux/device.h>
#include <linux/i2c.h>
@@ -107,7 +108,6 @@ static const char * const ipu_vcm_types[] = {
	"lc898212axb",
};

#if IS_ENABLED(CONFIG_ACPI)
/*
 * Used to figure out IVSC acpi device by ipu_bridge_get_ivsc_acpi_dev()
 * instead of device and driver match to probe IVSC device.
@@ -127,11 +127,11 @@ static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev
		const struct acpi_device_id *acpi_id = &ivsc_acpi_ids[i];
		struct acpi_device *consumer, *ivsc_adev;

		acpi_handle handle = acpi_device_handle(adev);
		acpi_handle handle = acpi_device_handle(ACPI_PTR(adev));
		for_each_acpi_dev_match(ivsc_adev, acpi_id->id, NULL, -1)
			/* camera sensor depends on IVSC in DSDT if exist */
			for_each_acpi_consumer_dev(ivsc_adev, consumer)
				if (consumer->handle == handle) {
				if (ACPI_PTR(consumer->handle) == handle) {
					acpi_dev_put(consumer);
					return ivsc_adev;
				}
@@ -139,12 +139,6 @@ static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev

	return NULL;
}
#else
static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev)
{
	return NULL;
}
#endif

static int ipu_bridge_match_ivsc_dev(struct device *dev, const void *adev)
{
@@ -259,12 +253,8 @@ static enum v4l2_fwnode_orientation ipu_bridge_parse_orientation(struct acpi_dev
{
	enum v4l2_fwnode_orientation orientation;
	struct acpi_pld_info *pld = NULL;
	bool status = false;

#if IS_ENABLED(CONFIG_ACPI)
	status = acpi_get_physical_device_location(adev->handle, &pld);
#endif
	if (!status) {
	if (!acpi_get_physical_device_location(ACPI_PTR(adev->handle), &pld)) {
		dev_warn(ADEV_DEV(adev), "_PLD call failed, using default orientation\n");
		return V4L2_FWNODE_ORIENTATION_EXTERNAL;
	}
@@ -498,9 +488,7 @@ static void ipu_bridge_create_connection_swnodes(struct ipu_bridge *bridge,
	if (sensor->csi_dev) {
		const char *device_hid = "";

#if IS_ENABLED(CONFIG_ACPI)
		device_hid = acpi_device_hid(sensor->ivsc_adev);
#endif

		snprintf(sensor->ivsc_name, sizeof(sensor->ivsc_name), "%s-%u",
			 device_hid, sensor->link);
@@ -671,11 +659,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
	struct acpi_device *adev = NULL;
	int ret;

#if IS_ENABLED(CONFIG_ACPI)
	for_each_acpi_dev_match(adev, cfg->hid, NULL, -1) {
#else
	while (true) {
#endif
		if (!ACPI_PTR(adev->status.enabled))
			continue;

@@ -768,15 +752,10 @@ static int ipu_bridge_ivsc_is_ready(void)
	unsigned int i;

	for (i = 0; i < ARRAY_SIZE(ipu_supported_sensors); i++) {
#if IS_ENABLED(CONFIG_ACPI)
		const struct ipu_sensor_config *cfg =
			&ipu_supported_sensors[i];

		for_each_acpi_dev_match(sensor_adev, cfg->hid, NULL, -1) {
#else
		while (true) {
			sensor_adev = NULL;
#endif
			if (!ACPI_PTR(sensor_adev->status.enabled))
				continue;