[PULL REQUEST] i2c for 4.13

2017-09-01 Thread Wolfram Sang
Linus,

I2C has two bugfixes for you: the ismt driver had a problem with a rarely
used transaction type and the designware driver was made even more
robust against non standard ACPI tables.

Please pull.

Thanks,

   Wolfram


The following changes since commit cc4a41fe5541a73019a864883297bd5043aa6d98:

  Linux 4.13-rc7 (2017-08-27 17:20:40 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-current

for you to fetch changes up to 231d069fcde22bd0582c2c9564f1b334d280c7d7:

  i2c: designware: Round down ACPI provided clk to nearest supported clk 
(2017-08-31 20:27:39 +0200)


Hans de Goede (1):
  i2c: designware: Round down ACPI provided clk to nearest supported clk

Stephen Douthit (2):
  i2c: ismt: Don't duplicate the receive length for block reads
  i2c: ismt: Return EMSGSIZE for block reads with bogus length


with much appreciated quality assurance from

Dan Priamo (2):
  (Test) i2c: ismt: Return EMSGSIZE for block reads with bogus length
  (Test) i2c: ismt: Don't duplicate the receive length for block reads

 drivers/i2c/busses/i2c-designware-platdrv.c | 16 
 drivers/i2c/busses/i2c-ismt.c   |  6 --
 2 files changed, 16 insertions(+), 6 deletions(-)


signature.asc
Description: PGP signature


[PULL REQUEST] i2c for 4.13

2017-09-01 Thread Wolfram Sang
Linus,

I2C has two bugfixes for you: the ismt driver had a problem with a rarely
used transaction type and the designware driver was made even more
robust against non standard ACPI tables.

Please pull.

Thanks,

   Wolfram


The following changes since commit cc4a41fe5541a73019a864883297bd5043aa6d98:

  Linux 4.13-rc7 (2017-08-27 17:20:40 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-current

for you to fetch changes up to 231d069fcde22bd0582c2c9564f1b334d280c7d7:

  i2c: designware: Round down ACPI provided clk to nearest supported clk 
(2017-08-31 20:27:39 +0200)


Hans de Goede (1):
  i2c: designware: Round down ACPI provided clk to nearest supported clk

Stephen Douthit (2):
  i2c: ismt: Don't duplicate the receive length for block reads
  i2c: ismt: Return EMSGSIZE for block reads with bogus length


with much appreciated quality assurance from

Dan Priamo (2):
  (Test) i2c: ismt: Return EMSGSIZE for block reads with bogus length
  (Test) i2c: ismt: Don't duplicate the receive length for block reads

 drivers/i2c/busses/i2c-designware-platdrv.c | 16 
 drivers/i2c/busses/i2c-ismt.c   |  6 --
 2 files changed, 16 insertions(+), 6 deletions(-)


signature.asc
Description: PGP signature


[PULL REQUEST] i2c for 4.13

2017-08-25 Thread Wolfram Sang
Linus,

I2C has some bugfixes for you: mainly Jarkko fixed up a few things in
the designware driver regarding the new slave mode. But Ulf also fixed a
long-standing and now agreed suspend problem. Plus, some simple stuff
which nonetheless needs fixing.

Please pull.

Thanks,

   Wolfram


The following changes since commit ef954844c7ace62f773f4f23e28d2d915adc419f:

  Linux 4.13-rc5 (2017-08-13 16:01:32 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-current

for you to fetch changes up to 2a86cdd2e7d3c75580f41f89f9b9211e225573cc:

  i2c: designware: Fix runtime PM for I2C slave mode (2017-08-17 17:55:29 +0200)


Anton Vasilyev (1):
  i2c: simtec: use release_mem_region instead of release_resource

Brendan Higgins (1):
  i2c: aspeed: fixed potential null pointer dereference

Jarkko Nikula (4):
  i2c: designware: Fix oops from i2c_dw_irq_handler_slave
  i2c: designware: Fix standard mode speed when configuring the slave mode
  i2c: designware: Remove needless pm_runtime_put_noidle() call
  i2c: designware: Fix runtime PM for I2C slave mode

Javier Martinez Canillas (1):
  i2c: core: Make comment about I2C table requirement to reflect the code

Ulf Hansson (1):
  i2c: designware: Fix system suspend


with much appreciated quality assurance from

Jarkko Nikula (1):
  (Test) i2c: designware: Fix system suspend

John Stultz (1):
  (Test) i2c: designware: Fix system suspend

Mika Westerberg (1):
  (Rev.) i2c: designware: Fix system suspend

 drivers/i2c/busses/i2c-aspeed.c |  5 +++--
 drivers/i2c/busses/i2c-designware-platdrv.c | 17 +
 drivers/i2c/busses/i2c-designware-slave.c   |  6 --
 drivers/i2c/busses/i2c-simtec.c |  6 ++
 drivers/i2c/i2c-core-base.c |  4 ++--
 5 files changed, 24 insertions(+), 14 deletions(-)


signature.asc
Description: PGP signature


[PULL REQUEST] i2c for 4.13

2017-08-25 Thread Wolfram Sang
Linus,

I2C has some bugfixes for you: mainly Jarkko fixed up a few things in
the designware driver regarding the new slave mode. But Ulf also fixed a
long-standing and now agreed suspend problem. Plus, some simple stuff
which nonetheless needs fixing.

Please pull.

Thanks,

   Wolfram


The following changes since commit ef954844c7ace62f773f4f23e28d2d915adc419f:

  Linux 4.13-rc5 (2017-08-13 16:01:32 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-current

for you to fetch changes up to 2a86cdd2e7d3c75580f41f89f9b9211e225573cc:

  i2c: designware: Fix runtime PM for I2C slave mode (2017-08-17 17:55:29 +0200)


Anton Vasilyev (1):
  i2c: simtec: use release_mem_region instead of release_resource

Brendan Higgins (1):
  i2c: aspeed: fixed potential null pointer dereference

Jarkko Nikula (4):
  i2c: designware: Fix oops from i2c_dw_irq_handler_slave
  i2c: designware: Fix standard mode speed when configuring the slave mode
  i2c: designware: Remove needless pm_runtime_put_noidle() call
  i2c: designware: Fix runtime PM for I2C slave mode

Javier Martinez Canillas (1):
  i2c: core: Make comment about I2C table requirement to reflect the code

Ulf Hansson (1):
  i2c: designware: Fix system suspend


with much appreciated quality assurance from

Jarkko Nikula (1):
  (Test) i2c: designware: Fix system suspend

John Stultz (1):
  (Test) i2c: designware: Fix system suspend

Mika Westerberg (1):
  (Rev.) i2c: designware: Fix system suspend

 drivers/i2c/busses/i2c-aspeed.c |  5 +++--
 drivers/i2c/busses/i2c-designware-platdrv.c | 17 +
 drivers/i2c/busses/i2c-designware-slave.c   |  6 --
 drivers/i2c/busses/i2c-simtec.c |  6 ++
 drivers/i2c/i2c-core-base.c |  4 ++--
 5 files changed, 24 insertions(+), 14 deletions(-)


signature.asc
Description: PGP signature


[PULL REQUEST] i2c for 4.13

2017-08-09 Thread Wolfram Sang
Linus,

here is a pull request from I2C. The main thing is to allow empty
id_tables for ACPI to make some drivers get probed again. It looks a bit
bigger than usual because it needs some internal renaming, too. Other
than that, there is a fix for broken DSTDs, a super simple enablement
for ARM MPS, and two documentation fixes which I'd like to see in v4.13
already. Please pull.

Thanks,

   Wolfram


The following changes since commit 16f73eb02d7e1765ccab3d2018e0bd98eb93d973:

  Linux 4.13-rc3 (2017-07-30 12:40:36 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-current

for you to fetch changes up to 9c80034921d1ece5c0e3241ba1645bce32387684:

  i2c: rephrase explanation of I2C_CLASS_DEPRECATED (2017-07-31 17:33:53 +0200)


Andy Shevchenko (1):
  i2c: core: Allow empty id_table in ACPI case as well

Chris Gorman (1):
  i2c: mux: pinctrl: mention correct module name in Kconfig help text

Hans de Goede (2):
  i2c: designware: Print clock freq on invalid clock freq error
  i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz

Russell King (1):
  i2c: allow i2c-versatile for ARM MPS platforms

Wolfram Sang (2):
  Merge branch 'i2c-mux/for-current' of https://github.com/peda-r/i2c-mux 
into i2c/for-current
  i2c: rephrase explanation of I2C_CLASS_DEPRECATED


with much appreciated quality assurance from

Andy Shevchenko (2):
  (Rev.) i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz
  (Rev.) i2c: designware: Print clock freq on invalid clock freq error

Rajmohan Mani (1):
  (Test) i2c: core: Allow empty id_table in ACPI case as well

 drivers/i2c/busses/Kconfig  |  2 +-
 drivers/i2c/busses/i2c-designware-platdrv.c |  6 +-
 drivers/i2c/i2c-core-acpi.c | 19 +++
 drivers/i2c/i2c-core-base.c |  1 +
 drivers/i2c/i2c-core.h  |  9 +
 drivers/i2c/muxes/Kconfig   |  2 +-
 include/linux/i2c.h |  3 ++-
 7 files changed, 34 insertions(+), 8 deletions(-)


signature.asc
Description: PGP signature


[PULL REQUEST] i2c for 4.13

2017-08-09 Thread Wolfram Sang
Linus,

here is a pull request from I2C. The main thing is to allow empty
id_tables for ACPI to make some drivers get probed again. It looks a bit
bigger than usual because it needs some internal renaming, too. Other
than that, there is a fix for broken DSTDs, a super simple enablement
for ARM MPS, and two documentation fixes which I'd like to see in v4.13
already. Please pull.

Thanks,

   Wolfram


The following changes since commit 16f73eb02d7e1765ccab3d2018e0bd98eb93d973:

  Linux 4.13-rc3 (2017-07-30 12:40:36 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-current

for you to fetch changes up to 9c80034921d1ece5c0e3241ba1645bce32387684:

  i2c: rephrase explanation of I2C_CLASS_DEPRECATED (2017-07-31 17:33:53 +0200)


Andy Shevchenko (1):
  i2c: core: Allow empty id_table in ACPI case as well

Chris Gorman (1):
  i2c: mux: pinctrl: mention correct module name in Kconfig help text

Hans de Goede (2):
  i2c: designware: Print clock freq on invalid clock freq error
  i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz

Russell King (1):
  i2c: allow i2c-versatile for ARM MPS platforms

Wolfram Sang (2):
  Merge branch 'i2c-mux/for-current' of https://github.com/peda-r/i2c-mux 
into i2c/for-current
  i2c: rephrase explanation of I2C_CLASS_DEPRECATED


with much appreciated quality assurance from

Andy Shevchenko (2):
  (Rev.) i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz
  (Rev.) i2c: designware: Print clock freq on invalid clock freq error

Rajmohan Mani (1):
  (Test) i2c: core: Allow empty id_table in ACPI case as well

 drivers/i2c/busses/Kconfig  |  2 +-
 drivers/i2c/busses/i2c-designware-platdrv.c |  6 +-
 drivers/i2c/i2c-core-acpi.c | 19 +++
 drivers/i2c/i2c-core-base.c |  1 +
 drivers/i2c/i2c-core.h  |  9 +
 drivers/i2c/muxes/Kconfig   |  2 +-
 include/linux/i2c.h |  3 ++-
 7 files changed, 34 insertions(+), 8 deletions(-)


signature.asc
Description: PGP signature


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Peter Rosin
On 2017-07-13 23:05, Linus Torvalds wrote:
> On Thu, Jul 13, 2017 at 1:57 PM, Peter Rosin  wrote:
>>
>> And if you, like me, sometimes take a peek at the core of several
>> subsystems using emacs, the buffers are either named "core.c"
>> or "subsys-core.c". The latter naming is more friendly to tab-completion
>> after ctrl-x b.
> 
> Here's a nickel, Kid. Buy a real editor.

Ahh, thanks for calling me a kid, I think I'll have a shave too.

>http://i.imgur.com/z96dZ0x.jpg
> 
> If your editor can't show directories, the limitations in your
> environment shouldn't screw over everybody else.

FWIW, I agree that your points made sense. I was just pointing out one
situation were I actually preferred the prefix.

Cheers,
Peter


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Peter Rosin
On 2017-07-13 23:05, Linus Torvalds wrote:
> On Thu, Jul 13, 2017 at 1:57 PM, Peter Rosin  wrote:
>>
>> And if you, like me, sometimes take a peek at the core of several
>> subsystems using emacs, the buffers are either named "core.c"
>> or "subsys-core.c". The latter naming is more friendly to tab-completion
>> after ctrl-x b.
> 
> Here's a nickel, Kid. Buy a real editor.

Ahh, thanks for calling me a kid, I think I'll have a shave too.

>http://i.imgur.com/z96dZ0x.jpg
> 
> If your editor can't show directories, the limitations in your
> environment shouldn't screw over everybody else.

FWIW, I agree that your points made sense. I was just pointing out one
situation were I actually preferred the prefix.

Cheers,
Peter


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Linus Torvalds
On Thu, Jul 13, 2017 at 1:57 PM, Peter Rosin  wrote:
>
> And if you, like me, sometimes take a peek at the core of several
> subsystems using emacs, the buffers are either named "core.c"
> or "subsys-core.c". The latter naming is more friendly to tab-completion
> after ctrl-x b.

Here's a nickel, Kid. Buy a real editor.

   http://i.imgur.com/z96dZ0x.jpg

If your editor can't show directories, the limitations in your
environment shouldn't screw over everybody else.

 Linus


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Linus Torvalds
On Thu, Jul 13, 2017 at 1:57 PM, Peter Rosin  wrote:
>
> And if you, like me, sometimes take a peek at the core of several
> subsystems using emacs, the buffers are either named "core.c"
> or "subsys-core.c". The latter naming is more friendly to tab-completion
> after ctrl-x b.

Here's a nickel, Kid. Buy a real editor.

   http://i.imgur.com/z96dZ0x.jpg

If your editor can't show directories, the limitations in your
environment shouldn't screw over everybody else.

 Linus


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Peter Rosin
On 2017-07-13 09:56, Uwe Kleine-König wrote:
> Hello,
> 
> On Wed, Jul 12, 2017 at 10:16:32AM -0700, Linus Torvalds wrote:
>> On Wed, Jul 12, 2017 at 8:49 AM, Wolfram Sang  wrote:
>>>  drivers/i2c/i2c-core-acpi.c|  665 
>>>  drivers/i2c/{i2c-core.c => i2c-core-base.c}| 1684 
>>> +---
>>>  drivers/i2c/i2c-core-of.c  |  276 
>>>  drivers/i2c/i2c-core-slave.c   |  115 ++
>>>  drivers/i2c/i2c-core-smbus.c   |  594 +++
>>>  drivers/i2c/i2c-core.h |   24 +
>>>  drivers/i2c/i2c-stub.c |   14 +-
>>
>> Side note on this.. (and doesn't affect the pull - I pulled it and
>> it's going through my test build right now).
>>
>> Please don't do the silly "start every filename with the same prefix".
>> It annoys people (ie me) that use tab-completion, and it just looks
>> stupid.
>>
>> And this core re-org does it twice over - first with "i2c-" and then
>> with "core-".
>>
>> Of *course* it's "i2c-something.c" - it's in the i2c directory. So
>> that part is entirely pointless.
>>
>> And the "core-something.c" part seems to be entirely to keep the files
>> together - but if the issue really is "sort files together", then
>> that's why we have subdirectories.
>>
>> So I personally tend to much prefer
>>
>>drivers/i2c/core/acpi.c
>>drivers/i2c/core/base.c
>>drivers/i2c/core/of.c
>>drivers/i2c/core/slave.c
>>drivers/i2c/core/smbus.c
>>drivers/i2c/core/core.h
>>
>> as the model. Then things *really* sort together, auto-complete works
>> better, and tools like "git diff --dirstat" etc that group changes by
>> directories also automatically just do the right thing.
>>
>> And notice how the filenames are smaller and prettier too? It's just a
>> win/win situation.
>>
>> But I'm not going to enforce my style guide on you, since I very
>> seldom actually end up touching those files. If this was some area
>> where I often actually ended up looking at things, I'd almost require
>> a sane directory structure, though.
>>
>> Because "name things with the same prefix" is not a sane directory structure.
> 
> Another reason I remember for the prefix thing is that this way the
> kernel modules are not named of.ko, core.ko and base.ko. (But this can
> be fixed in the Makefile of course with some more prose.)

And if you, like me, sometimes take a peek at the core of several
subsystems using emacs, the buffers are either named "core.c"
or "subsys-core.c". The latter naming is more friendly to tab-completion
after ctrl-x b.

It's not totally black-and-white...

Cheers,
Peter


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Peter Rosin
On 2017-07-13 09:56, Uwe Kleine-König wrote:
> Hello,
> 
> On Wed, Jul 12, 2017 at 10:16:32AM -0700, Linus Torvalds wrote:
>> On Wed, Jul 12, 2017 at 8:49 AM, Wolfram Sang  wrote:
>>>  drivers/i2c/i2c-core-acpi.c|  665 
>>>  drivers/i2c/{i2c-core.c => i2c-core-base.c}| 1684 
>>> +---
>>>  drivers/i2c/i2c-core-of.c  |  276 
>>>  drivers/i2c/i2c-core-slave.c   |  115 ++
>>>  drivers/i2c/i2c-core-smbus.c   |  594 +++
>>>  drivers/i2c/i2c-core.h |   24 +
>>>  drivers/i2c/i2c-stub.c |   14 +-
>>
>> Side note on this.. (and doesn't affect the pull - I pulled it and
>> it's going through my test build right now).
>>
>> Please don't do the silly "start every filename with the same prefix".
>> It annoys people (ie me) that use tab-completion, and it just looks
>> stupid.
>>
>> And this core re-org does it twice over - first with "i2c-" and then
>> with "core-".
>>
>> Of *course* it's "i2c-something.c" - it's in the i2c directory. So
>> that part is entirely pointless.
>>
>> And the "core-something.c" part seems to be entirely to keep the files
>> together - but if the issue really is "sort files together", then
>> that's why we have subdirectories.
>>
>> So I personally tend to much prefer
>>
>>drivers/i2c/core/acpi.c
>>drivers/i2c/core/base.c
>>drivers/i2c/core/of.c
>>drivers/i2c/core/slave.c
>>drivers/i2c/core/smbus.c
>>drivers/i2c/core/core.h
>>
>> as the model. Then things *really* sort together, auto-complete works
>> better, and tools like "git diff --dirstat" etc that group changes by
>> directories also automatically just do the right thing.
>>
>> And notice how the filenames are smaller and prettier too? It's just a
>> win/win situation.
>>
>> But I'm not going to enforce my style guide on you, since I very
>> seldom actually end up touching those files. If this was some area
>> where I often actually ended up looking at things, I'd almost require
>> a sane directory structure, though.
>>
>> Because "name things with the same prefix" is not a sane directory structure.
> 
> Another reason I remember for the prefix thing is that this way the
> kernel modules are not named of.ko, core.ko and base.ko. (But this can
> be fixed in the Makefile of course with some more prose.)

And if you, like me, sometimes take a peek at the core of several
subsystems using emacs, the buffers are either named "core.c"
or "subsys-core.c". The latter naming is more friendly to tab-completion
after ctrl-x b.

It's not totally black-and-white...

Cheers,
Peter


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Wolfram Sang

> request): keep the module name constant. Given that, I am going to take
> some middle path and rename like this:
> 
> drivers/i2c/acpi.c

...

Where is my brown paper bag? Sorry, I mixed things up. I'll just come
back once I'm done and happy...



signature.asc
Description: PGP signature


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Wolfram Sang

> request): keep the module name constant. Given that, I am going to take
> some middle path and rename like this:
> 
> drivers/i2c/acpi.c

...

Where is my brown paper bag? Sorry, I mixed things up. I'll just come
back once I'm done and happy...



signature.asc
Description: PGP signature


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Wolfram Sang
Linus,

> So I personally tend to much prefer
> 
>drivers/i2c/core/acpi.c
>drivers/i2c/core/base.c
>drivers/i2c/core/of.c
>drivers/i2c/core/slave.c
>drivers/i2c/core/smbus.c
>drivers/i2c/core/core.h
> 
> as the model. Then things *really* sort together, auto-complete works
> better, and tools like "git diff --dirstat" etc that group changes by
> directories also automatically just do the right thing.
> 
> And notice how the filenames are smaller and prettier too? It's just a
> win/win situation.

I am easily convinced by these benefits, thanks for pointing them out.
There was one request from distributions, though, when we once tried to
refactor only ACPI out back then (which we had to revert because of this
request): keep the module name constant. Given that, I am going to take
some middle path and rename like this:

drivers/i2c/acpi.c
drivers/i2c/base.c
drivers/i2c/of.c
drivers/i2c/slave.c
drivers/i2c/smbus.c
drivers/i2c/core.h

and keep the resulting object name 'i2c-core.o'. That implies that the
root directory of 'i2c' will be core only. I think this is fair.

Will implement it hopefully today and send you a pull request ASAP.

Thanks,

   Wolfram



signature.asc
Description: PGP signature


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Wolfram Sang
Linus,

> So I personally tend to much prefer
> 
>drivers/i2c/core/acpi.c
>drivers/i2c/core/base.c
>drivers/i2c/core/of.c
>drivers/i2c/core/slave.c
>drivers/i2c/core/smbus.c
>drivers/i2c/core/core.h
> 
> as the model. Then things *really* sort together, auto-complete works
> better, and tools like "git diff --dirstat" etc that group changes by
> directories also automatically just do the right thing.
> 
> And notice how the filenames are smaller and prettier too? It's just a
> win/win situation.

I am easily convinced by these benefits, thanks for pointing them out.
There was one request from distributions, though, when we once tried to
refactor only ACPI out back then (which we had to revert because of this
request): keep the module name constant. Given that, I am going to take
some middle path and rename like this:

drivers/i2c/acpi.c
drivers/i2c/base.c
drivers/i2c/of.c
drivers/i2c/slave.c
drivers/i2c/smbus.c
drivers/i2c/core.h

and keep the resulting object name 'i2c-core.o'. That implies that the
root directory of 'i2c' will be core only. I think this is fair.

Will implement it hopefully today and send you a pull request ASAP.

Thanks,

   Wolfram



signature.asc
Description: PGP signature


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Uwe Kleine-König
Hello,

On Wed, Jul 12, 2017 at 10:16:32AM -0700, Linus Torvalds wrote:
> On Wed, Jul 12, 2017 at 8:49 AM, Wolfram Sang  wrote:
> >  drivers/i2c/i2c-core-acpi.c|  665 
> >  drivers/i2c/{i2c-core.c => i2c-core-base.c}| 1684 
> > +---
> >  drivers/i2c/i2c-core-of.c  |  276 
> >  drivers/i2c/i2c-core-slave.c   |  115 ++
> >  drivers/i2c/i2c-core-smbus.c   |  594 +++
> >  drivers/i2c/i2c-core.h |   24 +
> >  drivers/i2c/i2c-stub.c |   14 +-
> 
> Side note on this.. (and doesn't affect the pull - I pulled it and
> it's going through my test build right now).
> 
> Please don't do the silly "start every filename with the same prefix".
> It annoys people (ie me) that use tab-completion, and it just looks
> stupid.
> 
> And this core re-org does it twice over - first with "i2c-" and then
> with "core-".
> 
> Of *course* it's "i2c-something.c" - it's in the i2c directory. So
> that part is entirely pointless.
> 
> And the "core-something.c" part seems to be entirely to keep the files
> together - but if the issue really is "sort files together", then
> that's why we have subdirectories.
> 
> So I personally tend to much prefer
> 
>drivers/i2c/core/acpi.c
>drivers/i2c/core/base.c
>drivers/i2c/core/of.c
>drivers/i2c/core/slave.c
>drivers/i2c/core/smbus.c
>drivers/i2c/core/core.h
> 
> as the model. Then things *really* sort together, auto-complete works
> better, and tools like "git diff --dirstat" etc that group changes by
> directories also automatically just do the right thing.
> 
> And notice how the filenames are smaller and prettier too? It's just a
> win/win situation.
> 
> But I'm not going to enforce my style guide on you, since I very
> seldom actually end up touching those files. If this was some area
> where I often actually ended up looking at things, I'd almost require
> a sane directory structure, though.
> 
> Because "name things with the same prefix" is not a sane directory structure.

Another reason I remember for the prefix thing is that this way the
kernel modules are not named of.ko, core.ko and base.ko. (But this can
be fixed in the Makefile of course with some more prose.)

Best regards
Uwe

-- 
Pengutronix e.K.   | Uwe Kleine-König|
Industrial Linux Solutions | http://www.pengutronix.de/  |


Re: [PULL REQUEST] i2c for 4.13

2017-07-13 Thread Uwe Kleine-König
Hello,

On Wed, Jul 12, 2017 at 10:16:32AM -0700, Linus Torvalds wrote:
> On Wed, Jul 12, 2017 at 8:49 AM, Wolfram Sang  wrote:
> >  drivers/i2c/i2c-core-acpi.c|  665 
> >  drivers/i2c/{i2c-core.c => i2c-core-base.c}| 1684 
> > +---
> >  drivers/i2c/i2c-core-of.c  |  276 
> >  drivers/i2c/i2c-core-slave.c   |  115 ++
> >  drivers/i2c/i2c-core-smbus.c   |  594 +++
> >  drivers/i2c/i2c-core.h |   24 +
> >  drivers/i2c/i2c-stub.c |   14 +-
> 
> Side note on this.. (and doesn't affect the pull - I pulled it and
> it's going through my test build right now).
> 
> Please don't do the silly "start every filename with the same prefix".
> It annoys people (ie me) that use tab-completion, and it just looks
> stupid.
> 
> And this core re-org does it twice over - first with "i2c-" and then
> with "core-".
> 
> Of *course* it's "i2c-something.c" - it's in the i2c directory. So
> that part is entirely pointless.
> 
> And the "core-something.c" part seems to be entirely to keep the files
> together - but if the issue really is "sort files together", then
> that's why we have subdirectories.
> 
> So I personally tend to much prefer
> 
>drivers/i2c/core/acpi.c
>drivers/i2c/core/base.c
>drivers/i2c/core/of.c
>drivers/i2c/core/slave.c
>drivers/i2c/core/smbus.c
>drivers/i2c/core/core.h
> 
> as the model. Then things *really* sort together, auto-complete works
> better, and tools like "git diff --dirstat" etc that group changes by
> directories also automatically just do the right thing.
> 
> And notice how the filenames are smaller and prettier too? It's just a
> win/win situation.
> 
> But I'm not going to enforce my style guide on you, since I very
> seldom actually end up touching those files. If this was some area
> where I often actually ended up looking at things, I'd almost require
> a sane directory structure, though.
> 
> Because "name things with the same prefix" is not a sane directory structure.

Another reason I remember for the prefix thing is that this way the
kernel modules are not named of.ko, core.ko and base.ko. (But this can
be fixed in the Makefile of course with some more prose.)

Best regards
Uwe

-- 
Pengutronix e.K.   | Uwe Kleine-König|
Industrial Linux Solutions | http://www.pengutronix.de/  |


Re: [PULL REQUEST] i2c for 4.13

2017-07-12 Thread Linus Torvalds
On Wed, Jul 12, 2017 at 8:49 AM, Wolfram Sang  wrote:
>  drivers/i2c/i2c-core-acpi.c|  665 
>  drivers/i2c/{i2c-core.c => i2c-core-base.c}| 1684 
> +---
>  drivers/i2c/i2c-core-of.c  |  276 
>  drivers/i2c/i2c-core-slave.c   |  115 ++
>  drivers/i2c/i2c-core-smbus.c   |  594 +++
>  drivers/i2c/i2c-core.h |   24 +
>  drivers/i2c/i2c-stub.c |   14 +-

Side note on this.. (and doesn't affect the pull - I pulled it and
it's going through my test build right now).

Please don't do the silly "start every filename with the same prefix".
It annoys people (ie me) that use tab-completion, and it just looks
stupid.

And this core re-org does it twice over - first with "i2c-" and then
with "core-".

Of *course* it's "i2c-something.c" - it's in the i2c directory. So
that part is entirely pointless.

And the "core-something.c" part seems to be entirely to keep the files
together - but if the issue really is "sort files together", then
that's why we have subdirectories.

So I personally tend to much prefer

   drivers/i2c/core/acpi.c
   drivers/i2c/core/base.c
   drivers/i2c/core/of.c
   drivers/i2c/core/slave.c
   drivers/i2c/core/smbus.c
   drivers/i2c/core/core.h

as the model. Then things *really* sort together, auto-complete works
better, and tools like "git diff --dirstat" etc that group changes by
directories also automatically just do the right thing.

And notice how the filenames are smaller and prettier too? It's just a
win/win situation.

But I'm not going to enforce my style guide on you, since I very
seldom actually end up touching those files. If this was some area
where I often actually ended up looking at things, I'd almost require
a sane directory structure, though.

Because "name things with the same prefix" is not a sane directory structure.

   Linus


Re: [PULL REQUEST] i2c for 4.13

2017-07-12 Thread Linus Torvalds
On Wed, Jul 12, 2017 at 8:49 AM, Wolfram Sang  wrote:
>  drivers/i2c/i2c-core-acpi.c|  665 
>  drivers/i2c/{i2c-core.c => i2c-core-base.c}| 1684 
> +---
>  drivers/i2c/i2c-core-of.c  |  276 
>  drivers/i2c/i2c-core-slave.c   |  115 ++
>  drivers/i2c/i2c-core-smbus.c   |  594 +++
>  drivers/i2c/i2c-core.h |   24 +
>  drivers/i2c/i2c-stub.c |   14 +-

Side note on this.. (and doesn't affect the pull - I pulled it and
it's going through my test build right now).

Please don't do the silly "start every filename with the same prefix".
It annoys people (ie me) that use tab-completion, and it just looks
stupid.

And this core re-org does it twice over - first with "i2c-" and then
with "core-".

Of *course* it's "i2c-something.c" - it's in the i2c directory. So
that part is entirely pointless.

And the "core-something.c" part seems to be entirely to keep the files
together - but if the issue really is "sort files together", then
that's why we have subdirectories.

So I personally tend to much prefer

   drivers/i2c/core/acpi.c
   drivers/i2c/core/base.c
   drivers/i2c/core/of.c
   drivers/i2c/core/slave.c
   drivers/i2c/core/smbus.c
   drivers/i2c/core/core.h

as the model. Then things *really* sort together, auto-complete works
better, and tools like "git diff --dirstat" etc that group changes by
directories also automatically just do the right thing.

And notice how the filenames are smaller and prettier too? It's just a
win/win situation.

But I'm not going to enforce my style guide on you, since I very
seldom actually end up touching those files. If this was some area
where I often actually ended up looking at things, I'd almost require
a sane directory structure, though.

Because "name things with the same prefix" is not a sane directory structure.

   Linus


Re: [PULL REQUEST] i2c for 4.13

2017-07-12 Thread Wolfram Sang

> with much appreciated quality assurance from
> 
> Andy Shevchenko (17):
>   (Rev.) i2c: designware: Let slave adapter support be optional
>   (Rev.) i2c: designware: Make HW init functions static
>   (Rev.) i2c: pca-platform: propagate error from i2c_pca_add_numbered_bus
>   (Rev.) i2c: pca-platform: correctly set algo_data.reset_chip
>   (Rev.) i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices
>   (Rev.) i2c: designware: enable SLAVE in platform module
>   (Rev.) i2c: designware: add SLAVE mode functions
>   (Rev.) i2c: zx2967: add i2c controller driver for ZTE's zx2967 family
>   (Rev.) i2c: designware: introducing I2C_SLAVE definitions
>   (Rev.) i2c: designware: Cleaning and comment style fixes.
>   (Rev.) i2c: remove unneeded includes from core
>   (Rev.) docs: i2c: dev-interface: adapt to new filenames of the i2c core
>   (Rev.) i2c: break out ACPI support into separate file
>   (Rev.) i2c: break out OF support into separate file
>   (Rev.) i2c: break out smbus support into separate file
>   (Rev.) i2c: break out slave support into separate file
>   (Rev.) i2c: rename core source file to allow refactorization

^ This ^   Worth pointing out. Thanks a ton, Andy!



signature.asc
Description: PGP signature


Re: [PULL REQUEST] i2c for 4.13

2017-07-12 Thread Wolfram Sang

> with much appreciated quality assurance from
> 
> Andy Shevchenko (17):
>   (Rev.) i2c: designware: Let slave adapter support be optional
>   (Rev.) i2c: designware: Make HW init functions static
>   (Rev.) i2c: pca-platform: propagate error from i2c_pca_add_numbered_bus
>   (Rev.) i2c: pca-platform: correctly set algo_data.reset_chip
>   (Rev.) i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices
>   (Rev.) i2c: designware: enable SLAVE in platform module
>   (Rev.) i2c: designware: add SLAVE mode functions
>   (Rev.) i2c: zx2967: add i2c controller driver for ZTE's zx2967 family
>   (Rev.) i2c: designware: introducing I2C_SLAVE definitions
>   (Rev.) i2c: designware: Cleaning and comment style fixes.
>   (Rev.) i2c: remove unneeded includes from core
>   (Rev.) docs: i2c: dev-interface: adapt to new filenames of the i2c core
>   (Rev.) i2c: break out ACPI support into separate file
>   (Rev.) i2c: break out OF support into separate file
>   (Rev.) i2c: break out smbus support into separate file
>   (Rev.) i2c: break out slave support into separate file
>   (Rev.) i2c: rename core source file to allow refactorization

^ This ^   Worth pointing out. Thanks a ton, Andy!



signature.asc
Description: PGP signature


[PULL REQUEST] i2c for 4.13

2017-07-12 Thread Wolfram Sang
Linus,

here is my first pull request this merge window for the I2C subsystem. A
little later than usual but we needed to sort out one real build problem
and then a few false positives from buildbot. But now everything seems
in order. This pull request contains:

* i2c core reorganization. One source file became too monolithic. It is
  now split up, yet we still have the same named object as the final
  output. This should ease maintenance.
* new drivers: ZTE ZX2967 family, ASPEED 24XX/25XX,
* designware driver gained slave mode support
* xgene-slimpro driver gained ACPI support
* bigger overhaul for pca-platform driver
* the algo-bit module now supports messages with enforced STOP
* slightly bigger than usual set of driver updates and improvements

Please pull.

Thanks,

   Wolfram


The following changes since commit 5ed02dbb497422bf225783f46e6eadd237d23d6b:

  Linux 4.12-rc3 (2017-05-28 17:20:53 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-4.13

for you to fetch changes up to 8f1a357d41a22009150cf404b5aa5876efdb59b1:

  i2c: Provide a stub for i2c_detect_slave_mode() (2017-07-08 21:51:43 +0200)


Andy Shevchenko (1):
  i2c: Provide a stub for i2c_detect_slave_mode()

Arnd Bergmann (1):
  i2c: xgene-slimpro: include linux/io.h for memremap

Arvind Yadav (3):
  i2c: at91: Handle return value of clk_prepare_enable
  i2c: at91: Fix compilation warning.
  i2c: emev2: Handle return value of clk_prepare_enable

Baoyou Xie (2):
  dt: bindings: add documentation for zx2967 family i2c controller
  i2c: zx2967: add i2c controller driver for ZTE's zx2967 family

Brendan Higgins (4):
  i2c: aspeed: added documentation for Aspeed I2C driver
  i2c: aspeed: added driver for Aspeed I2C
  i2c: aspeed: added slave support for Aspeed I2C driver
  MAINTAINERS: add entry for Aspeed I2C driver

Chris Packham (7):
  dt-bindings: add bindings for i2c-pca-platform
  i2c: pca-platform: switch to struct gpio_desc
  i2c: pca-platform: add devicetree awareness
  i2c: pca-platform: use device managed allocations
  i2c: pca-platform: use dev_warn/dev_info instead of printk
  i2c: pca-platform: correctly set algo_data.reset_chip
  i2c: pca-platform: propagate error from i2c_pca_add_numbered_bus

Colin Ian King (1):
  i2c: designware: fix spelling mistakes

George Cherian (1):
  i2c: xlp9xx: Enable HWMON class probing for xlp9xx

Hans de Goede (1):
  i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices

Hoan Tran (2):
  i2c: xgene-slimpro: Use a single function to send command message
  i2c: xgene-slimpro: Add ACPI support by using PCC mailbox

Jarkko Nikula (2):
  i2c: designware: Make HW init functions static
  i2c: designware: Let slave adapter support be optional

Jean Delvare (1):
  i2c: algo-bit: add support for I2C_M_STOP

Luis Oliveira (6):
  i2c: designware: Cleaning and comment style fixes.
  i2c: designware: refactoring of the i2c-designware
  i2c: designware: MASTER mode as separated driver
  i2c: designware: introducing I2C_SLAVE definitions
  i2c: designware: add SLAVE mode functions
  i2c: designware: enable SLAVE in platform module

Matt Weber (1):
  i2c: cadance: fix ctrl/addr reg write order

Michael Thalmeier (1):
  i2c: mxs: change error printing to debug for mxs_i2c_pio_wait_xfer_end

Shawn Guo (1):
  i2c: zx2967: drop COMPILE_TEST dependency

Srinivas Pandruvada (1):
  i2c: i801: Add support for Intel Cannon Lake

Wolfram Sang (15):
  i2c: rename core source file to allow refactorization
  i2c: break out slave support into separate file
  i2c: break out smbus support into separate file
  i2c: break out OF support into separate file
  i2c: break out ACPI support into separate file
  docs: i2c: dev-interface: adapt to new filenames of the i2c core
  i2c: remove unneeded includes from core
  i2c: reformat core-base file header
  i2c: stub: use pr_fmt
  i2c: sh_mobile: remove platform_data
  i2c: sh_mobile: drop needless check for of_node
  i2c: stub: fix build warning regression
  i2c: use proper name for the R-Car SoC
  i2c: rcar: document HW incapabilities
  i2c: zx2967: always use the same device when printing errors


with much appreciated quality assurance from

Andy Shevchenko (17):
  (Rev.) i2c: designware: Let slave adapter support be optional
  (Rev.) i2c: designware: Make HW init functions static
  (Rev.) i2c: pca-platform: propagate error from i2c_pca_add_numbered_bus
  (Rev.) i2c: pca-platform: correctly set algo_data.reset_chip
  (Rev.) i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices
  (Rev.) i2c: designware: enable SLAVE in platform module
  (Rev.) i2c: 

[PULL REQUEST] i2c for 4.13

2017-07-12 Thread Wolfram Sang
Linus,

here is my first pull request this merge window for the I2C subsystem. A
little later than usual but we needed to sort out one real build problem
and then a few false positives from buildbot. But now everything seems
in order. This pull request contains:

* i2c core reorganization. One source file became too monolithic. It is
  now split up, yet we still have the same named object as the final
  output. This should ease maintenance.
* new drivers: ZTE ZX2967 family, ASPEED 24XX/25XX,
* designware driver gained slave mode support
* xgene-slimpro driver gained ACPI support
* bigger overhaul for pca-platform driver
* the algo-bit module now supports messages with enforced STOP
* slightly bigger than usual set of driver updates and improvements

Please pull.

Thanks,

   Wolfram


The following changes since commit 5ed02dbb497422bf225783f46e6eadd237d23d6b:

  Linux 4.12-rc3 (2017-05-28 17:20:53 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-4.13

for you to fetch changes up to 8f1a357d41a22009150cf404b5aa5876efdb59b1:

  i2c: Provide a stub for i2c_detect_slave_mode() (2017-07-08 21:51:43 +0200)


Andy Shevchenko (1):
  i2c: Provide a stub for i2c_detect_slave_mode()

Arnd Bergmann (1):
  i2c: xgene-slimpro: include linux/io.h for memremap

Arvind Yadav (3):
  i2c: at91: Handle return value of clk_prepare_enable
  i2c: at91: Fix compilation warning.
  i2c: emev2: Handle return value of clk_prepare_enable

Baoyou Xie (2):
  dt: bindings: add documentation for zx2967 family i2c controller
  i2c: zx2967: add i2c controller driver for ZTE's zx2967 family

Brendan Higgins (4):
  i2c: aspeed: added documentation for Aspeed I2C driver
  i2c: aspeed: added driver for Aspeed I2C
  i2c: aspeed: added slave support for Aspeed I2C driver
  MAINTAINERS: add entry for Aspeed I2C driver

Chris Packham (7):
  dt-bindings: add bindings for i2c-pca-platform
  i2c: pca-platform: switch to struct gpio_desc
  i2c: pca-platform: add devicetree awareness
  i2c: pca-platform: use device managed allocations
  i2c: pca-platform: use dev_warn/dev_info instead of printk
  i2c: pca-platform: correctly set algo_data.reset_chip
  i2c: pca-platform: propagate error from i2c_pca_add_numbered_bus

Colin Ian King (1):
  i2c: designware: fix spelling mistakes

George Cherian (1):
  i2c: xlp9xx: Enable HWMON class probing for xlp9xx

Hans de Goede (1):
  i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices

Hoan Tran (2):
  i2c: xgene-slimpro: Use a single function to send command message
  i2c: xgene-slimpro: Add ACPI support by using PCC mailbox

Jarkko Nikula (2):
  i2c: designware: Make HW init functions static
  i2c: designware: Let slave adapter support be optional

Jean Delvare (1):
  i2c: algo-bit: add support for I2C_M_STOP

Luis Oliveira (6):
  i2c: designware: Cleaning and comment style fixes.
  i2c: designware: refactoring of the i2c-designware
  i2c: designware: MASTER mode as separated driver
  i2c: designware: introducing I2C_SLAVE definitions
  i2c: designware: add SLAVE mode functions
  i2c: designware: enable SLAVE in platform module

Matt Weber (1):
  i2c: cadance: fix ctrl/addr reg write order

Michael Thalmeier (1):
  i2c: mxs: change error printing to debug for mxs_i2c_pio_wait_xfer_end

Shawn Guo (1):
  i2c: zx2967: drop COMPILE_TEST dependency

Srinivas Pandruvada (1):
  i2c: i801: Add support for Intel Cannon Lake

Wolfram Sang (15):
  i2c: rename core source file to allow refactorization
  i2c: break out slave support into separate file
  i2c: break out smbus support into separate file
  i2c: break out OF support into separate file
  i2c: break out ACPI support into separate file
  docs: i2c: dev-interface: adapt to new filenames of the i2c core
  i2c: remove unneeded includes from core
  i2c: reformat core-base file header
  i2c: stub: use pr_fmt
  i2c: sh_mobile: remove platform_data
  i2c: sh_mobile: drop needless check for of_node
  i2c: stub: fix build warning regression
  i2c: use proper name for the R-Car SoC
  i2c: rcar: document HW incapabilities
  i2c: zx2967: always use the same device when printing errors


with much appreciated quality assurance from

Andy Shevchenko (17):
  (Rev.) i2c: designware: Let slave adapter support be optional
  (Rev.) i2c: designware: Make HW init functions static
  (Rev.) i2c: pca-platform: propagate error from i2c_pca_add_numbered_bus
  (Rev.) i2c: pca-platform: correctly set algo_data.reset_chip
  (Rev.) i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices
  (Rev.) i2c: designware: enable SLAVE in platform module
  (Rev.) i2c: