All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Cc: wsa@the-dreams.de, grant.likely@linaro.org,
	linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
	linus.walleij@linaro.org, Lee Jones <lee.jones@linaro.org>
Subject: [PATCH 6/9] i2c: Export i2c_match_id() for direct use by device drivers
Date: Fri, 20 Jun 2014 13:02:30 +0100	[thread overview]
Message-ID: <1403265753-25851-8-git-send-email-lee.jones@linaro.org> (raw)
In-Reply-To: <1403265753-25851-1-git-send-email-lee.jones@linaro.org>

When there was no other way to match a I2C device to driver i2c_match_id()
was exclusively used.  However, now there are other types of tables which
are commonly supplied, matching on an i2c_device_id table is used less
frequently.  Instead of _always_ calling i2c_match_id() from within the
framework, we only need to do so from drivers which have no other way of
matching.  This patch makes i2c_match_id() available to the aforementioned
device drivers.

Acked-by: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/i2c/i2c-core.c | 3 ++-
 include/linux/i2c.h    | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index ff2919a..b8962e4 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -79,7 +79,7 @@ void i2c_transfer_trace_unreg(void)
 
 /* ------------------------------------------------------------------------- */
 
-static const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
+const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
 						const struct i2c_client *client)
 {
 	if (!(id && client))
@@ -92,6 +92,7 @@ static const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
 	}
 	return NULL;
 }
+EXPORT_SYMBOL_GPL(i2c_match_id);
 
 static int i2c_device_match(struct device *dev, struct device_driver *drv)
 {
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 3d0350c..370905d 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -229,6 +229,8 @@ struct i2c_client {
 
 extern struct i2c_client *i2c_verify_client(struct device *dev);
 extern struct i2c_adapter *i2c_verify_adapter(struct device *dev);
+extern const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
+						const struct i2c_client *client);
 
 static inline struct i2c_client *kobj_to_i2c_client(struct kobject *kobj)
 {
-- 
1.8.3.2


WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org,
	grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: [PATCH 6/9] i2c: Export i2c_match_id() for direct use by device drivers
Date: Fri, 20 Jun 2014 13:02:30 +0100	[thread overview]
Message-ID: <1403265753-25851-8-git-send-email-lee.jones@linaro.org> (raw)
In-Reply-To: <1403265753-25851-1-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

When there was no other way to match a I2C device to driver i2c_match_id()
was exclusively used.  However, now there are other types of tables which
are commonly supplied, matching on an i2c_device_id table is used less
frequently.  Instead of _always_ calling i2c_match_id() from within the
framework, we only need to do so from drivers which have no other way of
matching.  This patch makes i2c_match_id() available to the aforementioned
device drivers.

Acked-by: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Signed-off-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
---
 drivers/i2c/i2c-core.c | 3 ++-
 include/linux/i2c.h    | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index ff2919a..b8962e4 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -79,7 +79,7 @@ void i2c_transfer_trace_unreg(void)
 
 /* ------------------------------------------------------------------------- */
 
-static const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
+const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
 						const struct i2c_client *client)
 {
 	if (!(id && client))
@@ -92,6 +92,7 @@ static const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
 	}
 	return NULL;
 }
+EXPORT_SYMBOL_GPL(i2c_match_id);
 
 static int i2c_device_match(struct device *dev, struct device_driver *drv)
 {
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 3d0350c..370905d 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -229,6 +229,8 @@ struct i2c_client {
 
 extern struct i2c_client *i2c_verify_client(struct device *dev);
 extern struct i2c_adapter *i2c_verify_adapter(struct device *dev);
+extern const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
+						const struct i2c_client *client);
 
 static inline struct i2c_client *kobj_to_i2c_client(struct kobject *kobj)
 {
-- 
1.8.3.2

WARNING: multiple messages have this Message-ID (diff)
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/9] i2c: Export i2c_match_id() for direct use by device drivers
Date: Fri, 20 Jun 2014 13:02:30 +0100	[thread overview]
Message-ID: <1403265753-25851-8-git-send-email-lee.jones@linaro.org> (raw)
In-Reply-To: <1403265753-25851-1-git-send-email-lee.jones@linaro.org>

When there was no other way to match a I2C device to driver i2c_match_id()
was exclusively used.  However, now there are other types of tables which
are commonly supplied, matching on an i2c_device_id table is used less
frequently.  Instead of _always_ calling i2c_match_id() from within the
framework, we only need to do so from drivers which have no other way of
matching.  This patch makes i2c_match_id() available to the aforementioned
device drivers.

Acked-by: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/i2c/i2c-core.c | 3 ++-
 include/linux/i2c.h    | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index ff2919a..b8962e4 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -79,7 +79,7 @@ void i2c_transfer_trace_unreg(void)
 
 /* ------------------------------------------------------------------------- */
 
-static const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
+const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
 						const struct i2c_client *client)
 {
 	if (!(id && client))
@@ -92,6 +92,7 @@ static const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
 	}
 	return NULL;
 }
+EXPORT_SYMBOL_GPL(i2c_match_id);
 
 static int i2c_device_match(struct device *dev, struct device_driver *drv)
 {
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 3d0350c..370905d 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -229,6 +229,8 @@ struct i2c_client {
 
 extern struct i2c_client *i2c_verify_client(struct device *dev);
 extern struct i2c_adapter *i2c_verify_adapter(struct device *dev);
+extern const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
+						const struct i2c_client *client);
 
 static inline struct i2c_client *kobj_to_i2c_client(struct kobject *kobj)
 {
-- 
1.8.3.2

  parent reply	other threads:[~2014-06-20 12:03 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-20 12:02 [PATCH v3 0/7] i2c: Relax mandatory I2C ID table passing Lee Jones
2014-06-20 12:02 ` Lee Jones
2014-06-20 12:02 ` [PATCH 1/9] ARM: multi_v7_defconfig: Enable ST's I2C driver Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH] gpio: crystalcove: Fix implicit declaration of function 'seq_printf' error Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-24 10:26   ` Lee Jones
2014-06-24 10:26     ` Lee Jones
2014-06-24 10:26     ` Lee Jones
2014-06-20 12:02 ` [PATCH 2/9] i2c: Add pointer dereference protection to i2c_match_id() Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH 3/9] i2c: Add the ability to match device to compatible string without an of_node Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH 4/9] i2c: Match using traditional OF methods, then by vendor-less compatible strings Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH 5/9] i2c: Make I2C ID tables non-mandatory for DT'ed devices Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` Lee Jones [this message]
2014-06-20 12:02   ` [PATCH 6/9] i2c: Export i2c_match_id() for direct use by device drivers Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH 7/9] i2c: Provide a temporary .probe2() call-back type Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH 8/9] mfd: 88pm860x: Move over to new I2C device .probe() call Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-06-20 12:02 ` [PATCH 9/9] mfd: as3722: Rid driver of superfluous I2C device ID structure Lee Jones
2014-06-20 12:02   ` Lee Jones
2014-07-17 10:23 ` [PATCH v3 0/7] i2c: Relax mandatory I2C ID table passing Lee Jones
2014-07-17 10:23   ` Lee Jones
2014-07-17 10:23   ` Lee Jones
2014-07-17 13:03   ` Wolfram Sang
2014-07-17 13:03     ` Wolfram Sang
2014-07-17 13:03     ` Wolfram Sang
2014-08-20 16:01     ` Lee Jones
2014-08-20 16:01       ` Lee Jones
2014-08-20 16:01       ` Lee Jones
2014-08-23  3:10       ` Wolfram Sang
2014-08-23  3:10         ` Wolfram Sang
2014-08-23  3:10         ` Wolfram Sang

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=1403265753-25851-8-git-send-email-lee.jones@linaro.org \
    --to=lee.jones@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wsa@the-dreams.de \
    /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.