All of lore.kernel.org
 help / color / mirror / Atom feed
* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-14  8:18 Build bot for Mark Brown
  2016-09-14 17:11   ` Mark Brown
  0 siblings, 1 reply; 17+ messages in thread
From: Build bot for Mark Brown @ 2016-09-14  8:18 UTC (permalink / raw)
  To: kernel-build-reports, linaro-kernel, linux-next

Tree/Branch: next-20160914
Git describe: next-20160914
Commit: b224027bb7 Add linux-next specific files for 20160914

Build Time: 83 min 32 sec

Passed:    8 / 10   ( 80.00 %)
Failed:    2 / 10   ( 20.00 %)

Errors: 1
Warnings: 3
Section Mismatches: 0

Failed defconfigs:
	arm64-allmodconfig
	arm-allmodconfig

Errors:

	arm64-allmodconfig
ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

	arm-allmodconfig
ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
      6 warnings    0 mismatches  : arm-multi_v5_defconfig
      6 warnings    0 mismatches  : arm-multi_v7_defconfig
      3 warnings    0 mismatches  : arm-allmodconfig
      3 warnings    0 mismatches  : arm-multi_v4t_defconfig
      3 warnings    0 mismatches  : arm-allnoconfig

-------------------------------------------------------------------------------

Errors summary: 1
	  2 ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

Warnings Summary: 3
	  7 <stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]
	  7 <stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	  7 <stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]



===============================================================================
Detailed per-defconfig build reports below:


-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 1 errors, 0 warnings, 0 section mismatches

Errors:
	ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

-------------------------------------------------------------------------------
arm-multi_v5_defconfig : PASS, 0 errors, 6 warnings, 0 section mismatches

Warnings:
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-multi_v7_defconfig : PASS, 0 errors, 6 warnings, 0 section mismatches

Warnings:
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 1 errors, 3 warnings, 0 section mismatches

Errors:
	ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

Warnings:
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-multi_v4t_defconfig : PASS, 0 errors, 3 warnings, 0 section mismatches

Warnings:
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]

-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 3 warnings, 0 section mismatches

Warnings:
	<stdin>:1316:2: warning: #warning syscall pkey_mprotect not implemented [-Wcpp]
	<stdin>:1319:2: warning: #warning syscall pkey_alloc not implemented [-Wcpp]
	<stdin>:1322:2: warning: #warning syscall pkey_free not implemented [-Wcpp]
-------------------------------------------------------------------------------

Passed with no errors, warnings or mismatches:

x86_64-allnoconfig
arm64-allnoconfig
x86_64-defconfig
arm64-defconfig

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-14  8:18 next-20160914 build: 2 failures 3 warnings (next-20160914) Build bot for Mark Brown
@ 2016-09-14 17:11   ` Mark Brown
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2016-09-14 17:11 UTC (permalink / raw)
  To: Marcin Niestroj, Grygorii Strashko, Tony Lindgren, Lee Jones
  Cc: kernel-build-reports, linaro-kernel, linux-next, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 428 bytes --]

On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:

Today's -next fails to build both arm and arm64 allmodconfig due to:

> 	arm64-allmodconfig
> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> 	arm-allmodconfig
> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
irq_set_parent() isn't exported.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-14 17:11   ` Mark Brown
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2016-09-14 17:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:

Today's -next fails to build both arm and arm64 allmodconfig due to:

> 	arm64-allmodconfig
> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> 	arm-allmodconfig
> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
irq_set_parent() isn't exported.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160914/8b4658ac/attachment.sig>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-14 17:11   ` Mark Brown
@ 2016-09-14 19:58     ` Lee Jones
  -1 siblings, 0 replies; 17+ messages in thread
From: Lee Jones @ 2016-09-14 19:58 UTC (permalink / raw)
  To: Mark Brown
  Cc: Marcin Niestroj, Grygorii Strashko, Tony Lindgren,
	kernel-build-reports, linaro-kernel, linux-next,
	linux-arm-kernel

On Wed, 14 Sep 2016, Mark Brown wrote:

> On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:
> 
> Today's -next fails to build both arm and arm64 allmodconfig due to:
> 
> > 	arm64-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> > 
> > 	arm-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> irq_set_parent() isn't exported.

Arnd is talking to Thomas about a possible solution.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-14 19:58     ` Lee Jones
  0 siblings, 0 replies; 17+ messages in thread
From: Lee Jones @ 2016-09-14 19:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 14 Sep 2016, Mark Brown wrote:

> On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:
> 
> Today's -next fails to build both arm and arm64 allmodconfig due to:
> 
> > 	arm64-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> > 
> > 	arm-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> irq_set_parent() isn't exported.

Arnd is talking to Thomas about a possible solution.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-14 17:11   ` Mark Brown
@ 2016-09-14 23:49     ` Michael Ellerman
  -1 siblings, 0 replies; 17+ messages in thread
From: Michael Ellerman @ 2016-09-14 23:49 UTC (permalink / raw)
  To: Mark Brown, Marcin Niestroj, Grygorii Strashko, Tony Lindgren, Lee Jones
  Cc: kernel-build-reports, linaro-kernel, linux-next, linux-arm-kernel

Mark Brown <broonie@kernel.org> writes:

> [ Unknown signature status ]
> On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:
>
> Today's -next fails to build both arm and arm64 allmodconfig due to:
>
>> 	arm64-allmodconfig
>> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
>> 
>> 	arm-allmodconfig
>> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
>
> due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> irq_set_parent() isn't exported.

And powerpc too.

cheers

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-14 23:49     ` Michael Ellerman
  0 siblings, 0 replies; 17+ messages in thread
From: Michael Ellerman @ 2016-09-14 23:49 UTC (permalink / raw)
  To: linux-arm-kernel

Mark Brown <broonie@kernel.org> writes:

> [ Unknown signature status ]
> On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:
>
> Today's -next fails to build both arm and arm64 allmodconfig due to:
>
>> 	arm64-allmodconfig
>> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
>> 
>> 	arm-allmodconfig
>> ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
>
> due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> irq_set_parent() isn't exported.

And powerpc too.

cheers

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-14 17:11   ` Mark Brown
@ 2016-09-19 10:21     ` Mark Brown
  -1 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2016-09-19 10:21 UTC (permalink / raw)
  To: Marcin Niestroj, Grygorii Strashko, Tony Lindgren, Lee Jones, arnd
  Cc: kernel-build-reports, linaro-kernel, linux-next, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 573 bytes --]

On Wed, Sep 14, 2016 at 06:11:37PM +0100, Mark Brown wrote:
> On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:

> Today's -next fails to build both arm and arm64 allmodconfig due to:

> > 	arm64-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

> > 	arm-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

> due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> irq_set_parent() isn't exported.

This is still breaking the build, do we have any ETA on getting the
export added?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-19 10:21     ` Mark Brown
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2016-09-19 10:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Sep 14, 2016 at 06:11:37PM +0100, Mark Brown wrote:
> On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:

> Today's -next fails to build both arm and arm64 allmodconfig due to:

> > 	arm64-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

> > 	arm-allmodconfig
> > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!

> due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> irq_set_parent() isn't exported.

This is still breaking the build, do we have any ETA on getting the
export added?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160919/1958a83c/attachment.sig>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-19 10:21     ` Mark Brown
@ 2016-09-19 10:31       ` Arnd Bergmann
  -1 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2016-09-19 10:31 UTC (permalink / raw)
  To: Mark Brown
  Cc: Marcin Niestroj, Grygorii Strashko, Tony Lindgren, Lee Jones,
	kernel-build-reports, linaro-kernel, linux-next,
	linux-arm-kernel

On Monday, September 19, 2016 11:21:50 AM CEST Mark Brown wrote:
> On Wed, Sep 14, 2016 at 06:11:37PM +0100, Mark Brown wrote:
> > On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:
> 
> > Today's -next fails to build both arm and arm64 allmodconfig due to:
> 
> > >     arm64-allmodconfig
> > > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> > >     arm-allmodconfig
> > > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> > due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> > irq_set_parent() isn't exported.
> 
> This is still breaking the build, do we have any ETA on getting the
> export added?

Thomas said he'd add it if the export is needed, but so far nobody
could tell if it is, or if the correct fix is something else, so
I have not sent a patch for inclusion.

My guess is that this is indeed the correct fix, but I don't understand
at all what the function does, and Marcin Niestroj said the same thing,
he just copied the code from a driver that is always built-in.

FWIW, the original function is

static int regmap_irq_map(struct irq_domain *h, unsigned int virq,
                          irq_hw_number_t hw)
{
        struct regmap_irq_chip_data *data = h->host_data;

        irq_set_chip_data(virq, data);
        irq_set_chip(virq, &data->irq_chip);
        irq_set_nested_thread(virq, 1);
        irq_set_parent(virq, data->irq);
        irq_set_noprobe(virq);

        return 0;
}

and this is the new one:

static int tps65217_irq_map(struct irq_domain *h, unsigned int virq,
                        irq_hw_number_t hw)
{
        struct tps65217 *tps = h->host_data;

        irq_set_chip_data(virq, tps);
        irq_set_chip_and_handler(virq, &tps65217_irq_chip, handle_edge_irq);
        irq_set_nested_thread(virq, 1);
        irq_set_parent(virq, tps->irq);
        irq_set_noprobe(virq);

        return 0;
}

twl6030_irq_map() has another almost identical copy, and the only
other caller of irq_set_parent() is gpiochip_set_chained_irqchip(),
which is completely different.

	Arnd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-19 10:31       ` Arnd Bergmann
  0 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2016-09-19 10:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday, September 19, 2016 11:21:50 AM CEST Mark Brown wrote:
> On Wed, Sep 14, 2016 at 06:11:37PM +0100, Mark Brown wrote:
> > On Wed, Sep 14, 2016 at 09:18:08AM +0100, Build bot for Mark Brown wrote:
> 
> > Today's -next fails to build both arm and arm64 allmodconfig due to:
> 
> > >     arm64-allmodconfig
> > > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> > >     arm-allmodconfig
> > > ERROR: "irq_set_parent" [drivers/mfd/tps65217.ko] undefined!
> 
> > due to 262d5cc6ceb293 (mfd: tps65217: Add support for IRQs) since
> > irq_set_parent() isn't exported.
> 
> This is still breaking the build, do we have any ETA on getting the
> export added?

Thomas said he'd add it if the export is needed, but so far nobody
could tell if it is, or if the correct fix is something else, so
I have not sent a patch for inclusion.

My guess is that this is indeed the correct fix, but I don't understand
at all what the function does, and Marcin Niestroj said the same thing,
he just copied the code from a driver that is always built-in.

FWIW, the original function is

static int regmap_irq_map(struct irq_domain *h, unsigned int virq,
                          irq_hw_number_t hw)
{
        struct regmap_irq_chip_data *data = h->host_data;

        irq_set_chip_data(virq, data);
        irq_set_chip(virq, &data->irq_chip);
        irq_set_nested_thread(virq, 1);
        irq_set_parent(virq, data->irq);
        irq_set_noprobe(virq);

        return 0;
}

and this is the new one:

static int tps65217_irq_map(struct irq_domain *h, unsigned int virq,
                        irq_hw_number_t hw)
{
        struct tps65217 *tps = h->host_data;

        irq_set_chip_data(virq, tps);
        irq_set_chip_and_handler(virq, &tps65217_irq_chip, handle_edge_irq);
        irq_set_nested_thread(virq, 1);
        irq_set_parent(virq, tps->irq);
        irq_set_noprobe(virq);

        return 0;
}

twl6030_irq_map() has another almost identical copy, and the only
other caller of irq_set_parent() is gpiochip_set_chained_irqchip(),
which is completely different.

	Arnd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-19 10:31       ` Arnd Bergmann
@ 2016-09-19 10:54         ` Mark Brown
  -1 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2016-09-19 10:54 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Marcin Niestroj, Grygorii Strashko, Tony Lindgren, Lee Jones,
	kernel-build-reports, linaro-kernel, linux-next,
	linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 462 bytes --]

On Mon, Sep 19, 2016 at 12:31:04PM +0200, Arnd Bergmann wrote:

> My guess is that this is indeed the correct fix, but I don't understand
> at all what the function does, and Marcin Niestroj said the same thing,
> he just copied the code from a driver that is always built-in.

Yes, most of the code is copied from regmap-irq.  Setting the parent is
needed for edge triggered interrupts that don't latch state when
disabled but isn't needed in the general case.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-19 10:54         ` Mark Brown
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2016-09-19 10:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Sep 19, 2016 at 12:31:04PM +0200, Arnd Bergmann wrote:

> My guess is that this is indeed the correct fix, but I don't understand
> at all what the function does, and Marcin Niestroj said the same thing,
> he just copied the code from a driver that is always built-in.

Yes, most of the code is copied from regmap-irq.  Setting the parent is
needed for edge triggered interrupts that don't latch state when
disabled but isn't needed in the general case.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160919/5befb5da/attachment.sig>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-19 10:54         ` Mark Brown
@ 2016-09-19 11:30           ` Arnd Bergmann
  -1 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2016-09-19 11:30 UTC (permalink / raw)
  To: Mark Brown
  Cc: Marcin Niestroj, Grygorii Strashko, Tony Lindgren, Lee Jones,
	kernel-build-reports, linaro-kernel, linux-next,
	linux-arm-kernel

On Monday, September 19, 2016 11:54:29 AM CEST Mark Brown wrote:
> On Mon, Sep 19, 2016 at 12:31:04PM +0200, Arnd Bergmann wrote:
> 
> > My guess is that this is indeed the correct fix, but I don't understand
> > at all what the function does, and Marcin Niestroj said the same thing,
> > he just copied the code from a driver that is always built-in.
> 
> Yes, most of the code is copied from regmap-irq.  Setting the parent is
> needed for edge triggered interrupts that don't latch state when
> disabled but isn't needed in the general case.

I found this in the tps65217 data sheet:

 9.3.7 Interrupt Pin (nINT)
 The interrupt pin is used to signal any event or fault
 condition to the host processor. Whenever a fault or event
 occurs in the IC the corresponding interrupt bit is set in
 the INT register, and the open-drain output is pulled low.
 The nINT pin is released (returns to Hi-Z state) and fault
 bits are cleared when the INT register is read by the
 host. However, if a failure persists, the corresponding
 INT bit remains set and the nINT pin is pulled low again
 after a maximum of 32 µs.

 Interrupt events include pushbutton pressed/released, USB
 and AC voltage status change.
 The MASK bits in the INT register are used to mask events
 from generating interrupts. The MASK settings affect the
 nINT pin only and have no impact on protection and
 monitor circuits themselves. Note that persisting event
 conditions such as ISINK enabled shutdown can cause the
 nINT pin to be pulled low for an extended period of
 time which can keep the host in a loop trying to resolve
 the interrupt. If this behavior is not desired, set the
 corresponding mask bit after receiving the interrupt and
 keep polling the INT register to see when the event
 condition has disappeared. Then unmask the interrupt bit
 again.

Does this tell us if it's needed or not?

	Arnd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-19 11:30           ` Arnd Bergmann
  0 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2016-09-19 11:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday, September 19, 2016 11:54:29 AM CEST Mark Brown wrote:
> On Mon, Sep 19, 2016 at 12:31:04PM +0200, Arnd Bergmann wrote:
> 
> > My guess is that this is indeed the correct fix, but I don't understand
> > at all what the function does, and Marcin Niestroj said the same thing,
> > he just copied the code from a driver that is always built-in.
> 
> Yes, most of the code is copied from regmap-irq.  Setting the parent is
> needed for edge triggered interrupts that don't latch state when
> disabled but isn't needed in the general case.

I found this in the tps65217 data sheet:

 9.3.7 Interrupt Pin (nINT)
 The interrupt pin is used to signal any event or fault
 condition to the host processor. Whenever a fault or event
 occurs in the IC the corresponding interrupt bit is set in
 the INT register, and the open-drain output is pulled low.
 The nINT pin is released (returns to Hi-Z state) and fault
 bits are cleared when the INT register is read by the
 host. However, if a failure persists, the corresponding
 INT bit remains set and the nINT pin is pulled low again
 after a maximum of 32 ?s.

 Interrupt events include pushbutton pressed/released, USB
 and AC voltage status change.
 The MASK bits in the INT register are used to mask events
 from generating interrupts. The MASK settings affect the
 nINT pin only and have no impact on protection and
 monitor circuits themselves. Note that persisting event
 conditions such as ISINK enabled shutdown can cause the
 nINT pin to be pulled low for an extended period of
 time which can keep the host in a loop trying to resolve
 the interrupt. If this behavior is not desired, set the
 corresponding mask bit after receiving the interrupt and
 keep polling the INT register to see when the event
 condition has disappeared. Then unmask the interrupt bit
 again.

Does this tell us if it's needed or not?

	Arnd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: next-20160914 build: 2 failures 3 warnings (next-20160914)
  2016-09-19 11:30           ` Arnd Bergmann
@ 2016-09-19 15:31             ` Grygorii Strashko
  -1 siblings, 0 replies; 17+ messages in thread
From: Grygorii Strashko @ 2016-09-19 15:31 UTC (permalink / raw)
  To: Arnd Bergmann, Mark Brown
  Cc: Marcin Niestroj, Tony Lindgren, Lee Jones, kernel-build-reports,
	linaro-kernel, linux-next, linux-arm-kernel

On 09/19/2016 02:30 PM, Arnd Bergmann wrote:
> On Monday, September 19, 2016 11:54:29 AM CEST Mark Brown wrote:
>> On Mon, Sep 19, 2016 at 12:31:04PM +0200, Arnd Bergmann wrote:
>>
>>> My guess is that this is indeed the correct fix, but I don't understand
>>> at all what the function does, and Marcin Niestroj said the same thing,
>>> he just copied the code from a driver that is always built-in.
>>
>> Yes, most of the code is copied from regmap-irq.  Setting the parent is
>> needed for edge triggered interrupts that don't latch state when
>> disabled but isn't needed in the general case.
> 
> I found this in the tps65217 data sheet:
> 
>  9.3.7 Interrupt Pin (nINT)
>  The interrupt pin is used to signal any event or fault
>  condition to the host processor. Whenever a fault or event
>  occurs in the IC the corresponding interrupt bit is set in
>  the INT register, and the open-drain output is pulled low.
>  The nINT pin is released (returns to Hi-Z state) and fault
>  bits are cleared when the INT register is read by the
>  host. However, if a failure persists, the corresponding
>  INT bit remains set and the nINT pin is pulled low again
>  after a maximum of 32 µs.
> 
>  Interrupt events include pushbutton pressed/released, USB
>  and AC voltage status change.
>  The MASK bits in the INT register are used to mask events
>  from generating interrupts. The MASK settings affect the
>  nINT pin only and have no impact on protection and
>  monitor circuits themselves. Note that persisting event
>  conditions such as ISINK enabled shutdown can cause the
>  nINT pin to be pulled low for an extended period of
>  time which can keep the host in a loop trying to resolve
>  the interrupt. If this behavior is not desired, set the
>  corresponding mask bit after receiving the interrupt and
>  keep polling the INT register to see when the event
>  condition has disappeared. Then unmask the interrupt bit
>  again.
> 
> Does this tell us if it's needed or not?
> 


The irq_set_parent() is required for proper supporting of lazy irq disabling
for threaded nested irqs and allow them to be re-triggered in the following case:

driverX:
 disable(nested_irq);
...
 parent irq triggered
   |- handle_nested_irq()
	|- mark nested_irq with IRQS_PENDING

...
driverX:
 enable(nested_irq);
   |- if IRQS_PENDING -> resend parent_irq [*], because nested threaded irq can't
      be resend by itself 

[*] if parent_irq is not set the IRQS_PENDING status will be ignored and irq might be lost.

Also, it was "mandatory" to be done before commit 75a06189fc5 
"genirq: Prevent resend to interrupts marked IRQ_NESTED_THREAD"
which made setting of parent_irq optional.

So, if is it required or not depends not only on HW, but, rather, on MFD drivers implementation
(Interrupt controller and MFD cell drivers).

-- 
regards,
-grygorii

^ permalink raw reply	[flat|nested] 17+ messages in thread

* next-20160914 build: 2 failures 3 warnings (next-20160914)
@ 2016-09-19 15:31             ` Grygorii Strashko
  0 siblings, 0 replies; 17+ messages in thread
From: Grygorii Strashko @ 2016-09-19 15:31 UTC (permalink / raw)
  To: linux-arm-kernel

On 09/19/2016 02:30 PM, Arnd Bergmann wrote:
> On Monday, September 19, 2016 11:54:29 AM CEST Mark Brown wrote:
>> On Mon, Sep 19, 2016 at 12:31:04PM +0200, Arnd Bergmann wrote:
>>
>>> My guess is that this is indeed the correct fix, but I don't understand
>>> at all what the function does, and Marcin Niestroj said the same thing,
>>> he just copied the code from a driver that is always built-in.
>>
>> Yes, most of the code is copied from regmap-irq.  Setting the parent is
>> needed for edge triggered interrupts that don't latch state when
>> disabled but isn't needed in the general case.
> 
> I found this in the tps65217 data sheet:
> 
>  9.3.7 Interrupt Pin (nINT)
>  The interrupt pin is used to signal any event or fault
>  condition to the host processor. Whenever a fault or event
>  occurs in the IC the corresponding interrupt bit is set in
>  the INT register, and the open-drain output is pulled low.
>  The nINT pin is released (returns to Hi-Z state) and fault
>  bits are cleared when the INT register is read by the
>  host. However, if a failure persists, the corresponding
>  INT bit remains set and the nINT pin is pulled low again
>  after a maximum of 32 ?s.
> 
>  Interrupt events include pushbutton pressed/released, USB
>  and AC voltage status change.
>  The MASK bits in the INT register are used to mask events
>  from generating interrupts. The MASK settings affect the
>  nINT pin only and have no impact on protection and
>  monitor circuits themselves. Note that persisting event
>  conditions such as ISINK enabled shutdown can cause the
>  nINT pin to be pulled low for an extended period of
>  time which can keep the host in a loop trying to resolve
>  the interrupt. If this behavior is not desired, set the
>  corresponding mask bit after receiving the interrupt and
>  keep polling the INT register to see when the event
>  condition has disappeared. Then unmask the interrupt bit
>  again.
> 
> Does this tell us if it's needed or not?
> 


The irq_set_parent() is required for proper supporting of lazy irq disabling
for threaded nested irqs and allow them to be re-triggered in the following case:

driverX:
 disable(nested_irq);
...
 parent irq triggered
   |- handle_nested_irq()
	|- mark nested_irq with IRQS_PENDING

...
driverX:
 enable(nested_irq);
   |- if IRQS_PENDING -> resend parent_irq [*], because nested threaded irq can't
      be resend by itself 

[*] if parent_irq is not set the IRQS_PENDING status will be ignored and irq might be lost.

Also, it was "mandatory" to be done before commit 75a06189fc5 
"genirq: Prevent resend to interrupts marked IRQ_NESTED_THREAD"
which made setting of parent_irq optional.

So, if is it required or not depends not only on HW, but, rather, on MFD drivers implementation
(Interrupt controller and MFD cell drivers).

-- 
regards,
-grygorii

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-09-19 15:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-14  8:18 next-20160914 build: 2 failures 3 warnings (next-20160914) Build bot for Mark Brown
2016-09-14 17:11 ` Mark Brown
2016-09-14 17:11   ` Mark Brown
2016-09-14 19:58   ` Lee Jones
2016-09-14 19:58     ` Lee Jones
2016-09-14 23:49   ` Michael Ellerman
2016-09-14 23:49     ` Michael Ellerman
2016-09-19 10:21   ` Mark Brown
2016-09-19 10:21     ` Mark Brown
2016-09-19 10:31     ` Arnd Bergmann
2016-09-19 10:31       ` Arnd Bergmann
2016-09-19 10:54       ` Mark Brown
2016-09-19 10:54         ` Mark Brown
2016-09-19 11:30         ` Arnd Bergmann
2016-09-19 11:30           ` Arnd Bergmann
2016-09-19 15:31           ` Grygorii Strashko
2016-09-19 15:31             ` Grygorii Strashko

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.