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
Subject: [PATCH v3 0/7] i2c: Relax mandatory I2C ID table passing
Date: Fri, 20 Jun 2014 13:02:23 +0100	[thread overview]
Message-ID: <1403265753-25851-1-git-send-email-lee.jones@linaro.org> (raw)

Hi Wolfram,
 
As previously discussed I believe it should be okay for an I2C device
driver _not_ supply an I2C ID table to match to.  The I2C subsystem
should be able to match via other means, such as via OF tables.  The
blocking factor during our previous conversation was to keep
registering via sysfs up and running.  This set does that.

After thinking more deeply about the problem, it occurred to me that
any I2C device driver which uses the sysfs method and issues an
of_match_device() would also fail their probe().  Bolted on to this
set is a new, more generic way for these devices to match against
either of the I2C/OF tables.

I hope this ticks all of your boxes.

v3:
  - Insist on passing 'struct i2c_client' instead of 'struct device'
  - Remove hook from of_match_device()

v2:
  - Removal of ACPI support (this is really an OF issue).
  - Add a new .probe2( with will seamlessly replace
  - Supply a warning on devices matching via OF without a suitable compatible
  - Remove unified match_device() - bad idea as it subverts type-safe behaviour
  - Provide examples of the kind of clean-up possible after this set.
    - I already have the full support from the maintainer of these drivers =;-)

Kind regards,
Lee

 arch/arm/configs/multi_v7_defconfig |  1 +
 drivers/i2c/i2c-core.c              | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
 drivers/mfd/88pm860x-core.c         |  5 ++---
 drivers/mfd/as3722.c                | 12 ++----------
 include/linux/i2c.h                 | 22 +++++++++++++++++++++-
 5 files changed, 89 insertions(+), 23 deletions(-)


WARNING: multiple messages have this Message-ID (diff)
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/7] i2c: Relax mandatory I2C ID table passing
Date: Fri, 20 Jun 2014 13:02:23 +0100	[thread overview]
Message-ID: <1403265753-25851-1-git-send-email-lee.jones@linaro.org> (raw)

Hi Wolfram,
 
As previously discussed I believe it should be okay for an I2C device
driver _not_ supply an I2C ID table to match to.  The I2C subsystem
should be able to match via other means, such as via OF tables.  The
blocking factor during our previous conversation was to keep
registering via sysfs up and running.  This set does that.

After thinking more deeply about the problem, it occurred to me that
any I2C device driver which uses the sysfs method and issues an
of_match_device() would also fail their probe().  Bolted on to this
set is a new, more generic way for these devices to match against
either of the I2C/OF tables.

I hope this ticks all of your boxes.

v3:
  - Insist on passing 'struct i2c_client' instead of 'struct device'
  - Remove hook from of_match_device()

v2:
  - Removal of ACPI support (this is really an OF issue).
  - Add a new .probe2( with will seamlessly replace
  - Supply a warning on devices matching via OF without a suitable compatible
  - Remove unified match_device() - bad idea as it subverts type-safe behaviour
  - Provide examples of the kind of clean-up possible after this set.
    - I already have the full support from the maintainer of these drivers =;-)

Kind regards,
Lee

 arch/arm/configs/multi_v7_defconfig |  1 +
 drivers/i2c/i2c-core.c              | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
 drivers/mfd/88pm860x-core.c         |  5 ++---
 drivers/mfd/as3722.c                | 12 ++----------
 include/linux/i2c.h                 | 22 +++++++++++++++++++++-
 5 files changed, 89 insertions(+), 23 deletions(-)

             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 Lee Jones [this message]
2014-06-20 12:02 ` [PATCH v3 0/7] i2c: Relax mandatory I2C ID table passing 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 ` [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   ` 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-1-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.