[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1434512299.2689.62.camel@perches.com>
Date: Tue, 16 Jun 2015 20:38:19 -0700
From: Joe Perches <joe@...ches.com>
To: Sagar Dharia <sdharia@...eaurora.org>
Cc: gregkh@...uxfoundation.org, bp@...e.de, poeschel@...onage.de,
treding@...dia.com, broonie@...nel.org, gong.chen@...ux.intel.com,
andreas.noever@...il.com, alan@...ux.intel.com,
mathieu.poirier@...aro.org, daniel@...ll.ch, oded.gabbay@....com,
jkosina@...e.cz, sharon.dvir1@...l.huji.ac.il, davem@...emloft.net,
james.hogan@...tec.com, michael.opdenacker@...e-electrons.com,
daniel.thompson@...aro.org, linux-kernel@...r.kernel.org,
nkaje@...eaurora.org, kheitke@...ience.com, mlocke@...eaurora.org,
agross@...eaurora.org, linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH V2 1/6] SLIMbus: Device management on SLIMbus
On Tue, 2015-06-16 at 19:45 -0600, Sagar Dharia wrote:
> SLIMbus (Serial Low Power Interchip Media Bus) is a specification
> developed by MIPI (Mobile Industry Processor Interface) alliance.
> SLIMbus is a 2-wire implementation, which is used to communicate with
> peripheral components like audio-codec.
[]
> diff --git a/drivers/slimbus/slimbus.c b/drivers/slimbus/slimbus.c
[]
> +static bool slim_eaddr_equal(struct slim_eaddr *a, struct slim_eaddr *b)
> +{
> + return (a->manf_id == b->manf_id &&
> + a->prod_code == b->prod_code &&
> + a->dev_index == b->dev_index &&
> + a->instance == b->instance);
> +}
> +
> +static const struct slim_device_id *
> +slim_match(const struct slim_device_id *id, const struct slim_device *slim_dev)
> +{
> + while (id->manf_id != 0 || id->prod_code != 0) {
> + if (id->manf_id == slim_dev->e_addr.manf_id &&
> + id->prod_code == slim_dev->e_addr.prod_code &&
> + id->dev_index == slim_dev->e_addr.dev_index)
> + return id;
> + id++;
> + }
> + return NULL;
> +}
> +
> +static int slim_device_match(struct device *dev, struct device_driver *driver)
> +{
> + struct slim_device *slim_dev;
> + struct slim_driver *drv = to_slim_driver(driver);
> +
> + if (dev->type != &slim_dev_type)
> + return 0;
> +
> + slim_dev = to_slim_device(dev);
> + if (drv->id_table)
> + return slim_match(drv->id_table, slim_dev) != NULL;
> + return 0;
> +}
This should probably be a bool function return.
Maybe this:
static bool slim_device_match(struct device *dev, struct device_driver *driver)
{
struct slim_driver *drv = to_slim_driver(driver);
if (dev->type != &slim_dev_type || !drv->id_table)
return false;
return slim_match(drv->id_table, to_slim_device(dev));
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists