All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-acpi@vger.kernel.org, linux-media@vger.kernel.org,
	rafael@kernel.org, heikki.krogerus@linux.intel.com
Subject: Re: [PATCH v3 2/8] ACPI: property: Parse _CRS CSI-2 descriptor
Date: Fri, 27 Jan 2023 12:08:39 +0200	[thread overview]
Message-ID: <Y9Oip7cLqWgdzKry@smile.fi.intel.com> (raw)
In-Reply-To: <20230125224101.401285-3-sakari.ailus@linux.intel.com>

On Thu, Jan 26, 2023 at 12:40:55AM +0200, Sakari Ailus wrote:
> Parse newly added ACPI _CRS CSI-2 descriptor for CSI-2 and camera
> configuration. For now, only figure out where the descriptor is present in
> order to allow adding information from it to related devices.

...

> +	if (status != AE_OK) {

ACPI_FAILURE()

> +		acpi_handle_warn(inst_context->handle,
> +				 "cannot get handle for %s\n",
> +				 csi2->resource_source.string_ptr);
> +		return AE_OK;
> +	}

...

> +	struct scan_check_crs_csi2_context inst_context = {
> +		.handle = handle,
> +		.res_list = LIST_HEAD_INIT(inst_context.res_list),
> +	};
> +	struct list_head *list = context;
> +	struct crs_csi2 *csi2;

> +	INIT_LIST_HEAD(&inst_context.res_list);

Do you still need this?

...

> +	acpi_walk_resources(handle, METHOD_NAME__CRS,
> +			    scan_check_crs_csi2_instance, &inst_context);
> +
> +	if (list_empty(&inst_context.res_list))
> +		return AE_OK;

I'm wondering if you can utilize acpi_dev_get_resources().

...

> +	/* Collect the devices that have a _CRS CSI-2 resource */
> +	acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, ACPI_UINT32_MAX,

Other serial buses limit the DEPTH by 32, why do we need more here?

> +			    scan_check_crs_csi2, NULL, &crs_csi2_handles, NULL);

...

> +	sort(handle_refs, handle_count, sizeof(*handle_refs), crs_handle_cmp,
> +	     NULL);

A single line?

...

> +		if (check_mul_overflow(sizeof(*ads->ports) +
> +				       sizeof(*ads->nodes) * 2 +
> +				       sizeof(*ads->nodeptrs) * 2,
> +				       (size_t)this_count, &alloc_size) ||

So, now you know why this_count can't be type of size_t?

> +		    check_add_overflow(sizeof(*ads) + sizeof(*ads->nodes) +
> +				       sizeof(*ads->nodeptrs) * 2,
> +				       alloc_size, &alloc_size)) {
> +			acpi_handle_warn(handle, "too many handles (%u)",
> +					 this_count);
> +			continue;
> +		}

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2023-01-27 10:08 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 22:40 [PATCH v3 0/8] ACPI _CRS CSI-2 and MIPI DisCo for Imaging support Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 1/8] ACPI: property: Parse data node string references in properties Sakari Ailus
2023-01-27  9:57   ` Andy Shevchenko
2023-01-30 18:21   ` Rafael J. Wysocki
2023-01-30 21:34     ` Andy Shevchenko
2023-01-25 22:40 ` [PATCH v3 2/8] ACPI: property: Parse _CRS CSI-2 descriptor Sakari Ailus
2023-01-27 10:08   ` Andy Shevchenko [this message]
2023-01-30 21:18     ` Sakari Ailus
2023-01-30 21:37       ` Andy Shevchenko
2023-01-30 21:45         ` Sakari Ailus
2023-02-02 19:57   ` Rafael J. Wysocki
2023-02-02 20:57     ` Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 3/8] device property: Add SOFTWARE_NODE() macro for defining software nodes Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 4/8] ACPI: property: Generate camera swnodes for ACPI and DisCo for Imaging Sakari Ailus
2023-01-27 10:35   ` Andy Shevchenko
2023-01-27 10:35     ` Andy Shevchenko
2023-01-30 21:22     ` Sakari Ailus
2023-01-30 21:39       ` Andy Shevchenko
2023-01-30 21:46         ` Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 5/8] ACPI: property: Dig "rotation" property for devices with CSI2 _CRS Sakari Ailus
2023-01-25 22:40 ` [PATCH v3 6/8] ACPI: property: Rename parsed MIPI DisCo for Imaging properties Sakari Ailus
2023-01-25 22:41 ` [PATCH v3 7/8] ACPI: property: Skip MIPI property table without "mipi-img" prefix Sakari Ailus
2023-01-25 22:41 ` [PATCH v3 8/8] ACPI: property: Document _CRS CSI-2 and DisCo for Imaging support Sakari Ailus

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=Y9Oip7cLqWgdzKry@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-media@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.