From: Phil Reid <preid@electromag.com.au>
To: wsa@the-dreams.de, robh+dt@kernel.org, mark.rutland@arm.com,
sre@kernel.org, jdelvare@suse.com, jglauber@cavium.com,
david.daney@cavium.com, peda@axentia.se, preid@electromag.com.au,
benjamin.tissoires@redhat.com, linux-i2c@vger.kernel.org,
devicetree@vger.kernel.org, linux-pm@vger.kernel.org
Subject: [PATCH v10 02/10] i2c: i2c-smbus: Move i2c_setup_smbus_alert from i2c-smbus to i2c-core-smbus
Date: Tue, 25 Jul 2017 11:40:16 +0800 [thread overview]
Message-ID: <1500954024-6860-3-git-send-email-preid@electromag.com.au> (raw)
In-Reply-To: <1500954024-6860-1-git-send-email-preid@electromag.com.au>
In preparation to adding of_i2c_setup_smbus_alert() move
i2c_setup_smbus_alert() to core module. of_i2c_setup_smbus_alert()
will call i2c_setup_smbus_alert() and this avoid module dependecy issues.
Signed-off-by: Phil Reid <preid@electromag.com.au>
---
drivers/i2c/i2c-core-smbus.c | 33 +++++++++++++++++++++++++++++++++
drivers/i2c/i2c-smbus.c | 32 --------------------------------
2 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/drivers/i2c/i2c-core-smbus.c b/drivers/i2c/i2c-core-smbus.c
index 10f00a8..7f3ec02 100644
--- a/drivers/i2c/i2c-core-smbus.c
+++ b/drivers/i2c/i2c-core-smbus.c
@@ -17,6 +17,7 @@
#include <linux/device.h>
#include <linux/err.h>
#include <linux/i2c.h>
+#include <linux/i2c-smbus.h>
#define CREATE_TRACE_POINTS
#include <trace/events/smbus.h>
@@ -592,3 +593,35 @@ s32 i2c_smbus_read_i2c_block_data_or_emulated(const struct i2c_client *client,
return i;
}
EXPORT_SYMBOL(i2c_smbus_read_i2c_block_data_or_emulated);
+
+/**
+ * i2c_setup_smbus_alert - Setup SMBus alert support
+ * @adapter: the target adapter
+ * @setup: setup data for the SMBus alert handler
+ * Context: can sleep
+ *
+ * Setup handling of the SMBus alert protocol on a given I2C bus segment.
+ *
+ * Handling can be done either through our IRQ handler, or by the
+ * adapter (from its handler, periodic polling, or whatever).
+ *
+ * NOTE that if we manage the IRQ, we *MUST* know if it's level or
+ * edge triggered in order to hand it to the workqueue correctly.
+ * If triggering the alert seems to wedge the system, you probably
+ * should have said it's level triggered.
+ *
+ * This returns the ara client, which should be saved for later use with
+ * i2c_handle_smbus_alert() and ultimately i2c_unregister_device(); or NULL
+ * to indicate an error.
+ */
+struct i2c_client *i2c_setup_smbus_alert(struct i2c_adapter *adapter,
+ struct i2c_smbus_alert_setup *setup)
+{
+ struct i2c_board_info ara_board_info = {
+ I2C_BOARD_INFO("smbus_alert", 0x0c),
+ .platform_data = setup,
+ };
+
+ return i2c_new_device(adapter, &ara_board_info);
+}
+EXPORT_SYMBOL_GPL(i2c_setup_smbus_alert);
diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c
index d4af270..d0bb035 100644
--- a/drivers/i2c/i2c-smbus.c
+++ b/drivers/i2c/i2c-smbus.c
@@ -183,38 +183,6 @@ static int smbalert_remove(struct i2c_client *ara)
};
/**
- * i2c_setup_smbus_alert - Setup SMBus alert support
- * @adapter: the target adapter
- * @setup: setup data for the SMBus alert handler
- * Context: can sleep
- *
- * Setup handling of the SMBus alert protocol on a given I2C bus segment.
- *
- * Handling can be done either through our IRQ handler, or by the
- * adapter (from its handler, periodic polling, or whatever).
- *
- * NOTE that if we manage the IRQ, we *MUST* know if it's level or
- * edge triggered in order to hand it to the workqueue correctly.
- * If triggering the alert seems to wedge the system, you probably
- * should have said it's level triggered.
- *
- * This returns the ara client, which should be saved for later use with
- * i2c_handle_smbus_alert() and ultimately i2c_unregister_device(); or NULL
- * to indicate an error.
- */
-struct i2c_client *i2c_setup_smbus_alert(struct i2c_adapter *adapter,
- struct i2c_smbus_alert_setup *setup)
-{
- struct i2c_board_info ara_board_info = {
- I2C_BOARD_INFO("smbus_alert", 0x0c),
- .platform_data = setup,
- };
-
- return i2c_new_device(adapter, &ara_board_info);
-}
-EXPORT_SYMBOL_GPL(i2c_setup_smbus_alert);
-
-/**
* i2c_handle_smbus_alert - Handle an SMBus alert
* @ara: the ARA client on the relevant adapter
* Context: can't sleep
--
1.8.3.1
next prev parent reply other threads:[~2017-07-25 3:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-25 3:40 [PATCH v10 00/10] Add sbs-manager with smbalert support Phil Reid
2017-07-25 3:40 ` Phil Reid [this message]
2017-07-25 3:40 ` [PATCH v10 03/10] i2c: i2c-smbus: add of_i2c_setup_smbus_alert Phil Reid
2017-07-25 3:40 ` [PATCH v10 04/10] i2c: core: call of_i2c_setup_smbus_alert in i2c_register_adapter Phil Reid
[not found] ` <1500954024-6860-1-git-send-email-preid-qgqNFa1JUf/o2iN0hyhwsIdd74u8MsAO@public.gmane.org>
2017-07-25 3:40 ` [PATCH v10 01/10] i2c: i2c-smbus: Use threaded irq for smbalert Phil Reid
2017-07-25 3:40 ` [PATCH v10 05/10] i2c: mux: pca954x: Call request irq after adding mux segments Phil Reid
2017-07-31 8:09 ` Peter Rosin
2017-08-01 2:01 ` Phil Reid
2017-07-25 3:40 ` [PATCH v10 10/10] power: supply: sbs-battery: move gpio present detect to sbs_get_property Phil Reid
2017-07-25 3:40 ` [PATCH v10 06/10] i2c: mux: pca954x: Return error if irq_create_mapping fails Phil Reid
2017-07-25 3:40 ` [PATCH v10 07/10] Documentation: Add sbs-manager device tree node documentation Phil Reid
2017-07-25 3:40 ` [PATCH v10 08/10] power: Adds support for Smart Battery System Manager Phil Reid
2017-07-25 3:40 ` [PATCH v10 09/10] power: supply: sbs-manager: Add alert callback and battery change notification Phil Reid
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=1500954024-6860-3-git-send-email-preid@electromag.com.au \
--to=preid@electromag.com.au \
--cc=benjamin.tissoires@redhat.com \
--cc=david.daney@cavium.com \
--cc=devicetree@vger.kernel.org \
--cc=jdelvare@suse.com \
--cc=jglauber@cavium.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=peda@axentia.se \
--cc=robh+dt@kernel.org \
--cc=sre@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).