[PATCH 2/5] of/fdt: add kernel command line option for dtb_compat string

Grant Likely grant.likely at secretlab.ca
Wed Nov 17 11:16:14 EST 2010


On Tue, Nov 16, 2010 at 3:41 PM,  <dirk.brandewie at gmail.com> wrote:
> From: Dirk Brandewie <dirk.brandewie at gmail.com>
>
> Adds a kernel command line option "dtb_compat=<string>" and functions
> for architecture/platform specific code to retrieve the command line
> string and locate the compatible DTB linked into the kernel
>
> of_flat_dt_get_dtb_compatible_string() returns a pointer string passed
> from the command line or a pointer to an empty string.
>
> of_flat_dt_find_compatible_dtb() returns a pointer to a DTB that is
> compatible with the "compatible" string or a NULL pointer if no
> matching DTB is present.
>
> Signed-off-by: Dirk Brandewie <dirk.brandewie at gmail.com>
> ---
[...]
> +void __init *of_flat_dt_find_compatible_dtb(char *name)
> +{
> +       void *rc = NULL;
> +       unsigned long root, size;
> +       struct boot_param_header  *orig_initial_boot_params;
> +       uint8_t *blob;
> +
> +       orig_initial_boot_params = initial_boot_params;
> +       blob = __dtb_start;
> +       initial_boot_params = (struct boot_param_header *)blob;
> +
> +       while (blob < __dtb_end &&
> +               (be32_to_cpu(initial_boot_params->magic) == OF_DT_HEADER)) {

The kernel needs to complain *loudly* if this occurs because it
represents a bug.  I'm tempted to say use BUG, but that would halt the
kernel and prevent any possibility of kernel log output.  WARN_ON() is
probably best.

g.


More information about the devicetree-discuss mailing list