Re: [PATCH v4] memory-hotplug: Fix kernel warning during memory hotplug on ppc64

2016-01-07 Thread Andrew Morton
On Wed, 6 Jan 2016 16:30:00 -0600 John Allen  wrote:

> This patch fixes a bug where a kernel warning is triggered when performing
> a memory hotplug on ppc64. This warning may also occur on any architecture
> that uses the memory_probe_store interface.

(cc's added).

Dave, could you please review this?  Thanks.


From: John Allen 
Subject: drivers/base/memory.c: fix kernel warning during memory hotplug on 
ppc64

Fix a bug where a kernel warning is triggered when performing a memory
hotplug on ppc64.  This warning may also occur on any architecture that
uses the memory_probe_store interface.

WARNING: at drivers/base/memory.c:200
CPU: 9 PID: 13042 Comm: systemd-udevd Not tainted 
4.4.0-rc4-00113-g0bd0f1e-dirty #7
NIP [c055e034] pages_correctly_reserved+0x134/0x1b0
LR [c055e7f8] memory_subsys_online+0x68/0x140
Call Trace:
[c000fa9e7b50] [c000fa9e7b90] 0xc000fa9e7b90 (unreliable)
[c000fa9e7bb0] [c055e7f8] memory_subsys_online+0x68/0x140
[c000fa9e7bf0] [c0540064] device_online+0xb4/0x120
[c000fa9e7c30] [c055e6c0] store_mem_state+0xb0/0x180
[c000fa9e7c70] [c053c5e4] dev_attr_store+0x34/0x60
[c000fa9e7c90] [c02db0a4] sysfs_kf_write+0x64/0xa0
[c000fa9e7cb0] [c02da0cc] kernfs_fop_write+0x17c/0x1e0
[c000fa9e7d00] [c02481b0] __vfs_write+0x40/0x160
[c000fa9e7d90] [c0248ce8] vfs_write+0xb8/0x200
[c000fa9e7de0] [c0249b40] SyS_write+0x60/0x110
[c000fa9e7e30] [c0009260] system_call+0x38/0xd0

The warning is triggered because there is a udev rule that automatically
tries to online memory after it has been added.  The udev rule varies from
distro to distro, but will generally look something like:

SUBSYSTEM=="memory", ACTION=="add", ATTR{state}=="offline", ATTR{state}="online"

On any architecture that uses memory_probe_store to reserve memory, the
udev rule will be triggered after the first section of the block is
reserved and will subsequently attempt to online the entire block,
interrupting the memory reservation process and causing the warning.  This
patch modifies memory_probe_store to add a block of memory with a single
call to add_memory as opposed to looping through and adding each section
individually.  A single call to add_memory is protected by the mem_hotplug
mutex which will prevent the udev rule from onlining memory until the
reservation of the entire block is complete.

Signed-off-by: John Allen 
Cc: Nathan Fontenot 
Cc: Michael Ellerman 
Cc: Greg Kroah-Hartman 
Cc: Dave Hansen 
Signed-off-by: Andrew Morton 
---

 drivers/base/memory.c |   16 ++--
 1 file changed, 6 insertions(+), 10 deletions(-)

diff -puN 
drivers/base/memory.c~memory-hotplug-fix-kernel-warning-during-memory-hotplug-on-ppc64
 drivers/base/memory.c
--- 
a/drivers/base/memory.c~memory-hotplug-fix-kernel-warning-during-memory-hotplug-on-ppc64
+++ a/drivers/base/memory.c
@@ -450,8 +450,7 @@ memory_probe_store(struct device *dev, s
   const char *buf, size_t count)
 {
u64 phys_addr;
-   int nid;
-   int i, ret;
+   int nid, ret;
unsigned long pages_per_block = PAGES_PER_SECTION * sections_per_block;
 
ret = kstrtoull(buf, 0, _addr);
@@ -461,15 +460,12 @@ memory_probe_store(struct device *dev, s
if (phys_addr & ((pages_per_block << PAGE_SHIFT) - 1))
return -EINVAL;
 
-   for (i = 0; i < sections_per_block; i++) {
-   nid = memory_add_physaddr_to_nid(phys_addr);
-   ret = add_memory(nid, phys_addr,
-PAGES_PER_SECTION << PAGE_SHIFT);
-   if (ret)
-   goto out;
+   nid = memory_add_physaddr_to_nid(phys_addr);
+   ret = add_memory(nid, phys_addr,
+MIN_MEMORY_BLOCK_SIZE * sections_per_block);
 
-   phys_addr += MIN_MEMORY_BLOCK_SIZE;
-   }
+   if (ret)
+   goto out;
 
ret = count;
 out:
_

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v4] memory-hotplug: Fix kernel warning during memory hotplug on ppc64

2016-01-07 Thread Dave Hansen
On 01/06/2016 02:30 PM, John Allen wrote:
> On any architecture that uses memory_probe_store to reserve memory, the
> udev rule will be triggered after the first section of the block is
> reserved and will subsequently attempt to online the entire block,
> interrupting the memory reservation process and causing the warning.
> This patch modifies memory_probe_store to add a block of memory with
> a single call to add_memory as opposed to looping through and adding
> each section individually. A single call to add_memory is protected by
> the mem_hotplug mutex which will prevent the udev rule from onlining
> memory until the reservation of the entire block is complete.

Seems sane to me.  Makes the code simpler too, so win win.

Acked-by: Dave Hansen 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Ian Munsie
Excerpts from Brian Norris's message of 2016-01-08 10:02:25 +1100:
> >  - It forces cxl developers to a higher standard. cxl has already had
> >more than it's fair share of incredibly difficult to debug issues,
> >so any way we can reduce the risk of errors going in makes our lives
> >(and our end-users lives) better.
> 
> One problem with this point: not all warnings are under the purview of
> cxl developers. For instance, if I turn up warning verbosity (W=1), then
> the *header* files start producing plenty of warnings. Should this break
> the build? Your code didn't change, and you can't fix those errors.

That's a good point, but the specific warnings that we suppressed in the
new compiler are in drivers/misc/cxl/cxl.h, which is an internal header
that should only ever be included by the cxl driver. We do have some
headers elsewhere which are included by other drivers, the generic ppc
architecture code and userspace, but these are all warning free and
won't be affected by the -Werror when included from elsewhere.

> That is a real use case for me daily: I turn the warning verbosity up on
> my compile tests, then (smart)diff the build logs before and after
> new patches. That way, I can see what new warnings (even potentially
> false positive ones) are introduced. I can't do that if every random
> developer wants to stick -Werror in their Makefile.

Makes sense.

> I think there are plenty of reasons to either remove -Werror, or make it
> configurable. Some of them are detailed above.
>
> Maybe you can gate the -Werror on CONFIG_PPC_WERROR, just like the rest
> of PowerPC?

Agreed.

@Daniel - since you added the -Werror do you want to do this, or shall
I?

Cheers,
-Ian

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] platforms/powernv: Fix update of NVLink DMA mask

2016-01-07 Thread Alistair Popple
The emulated NVLink PCI devices share the same IODA2 TCE tables but
only support a single TVT (instead of the normal two for PCI
devices). This requires the kernel to manually replace windows with
either the bypass or non-bypass window depending on what the driver
has requested.

Unfortunately an incorrect optimisation was made in
pnv_pci_ioda_dma_set_mask() which caused updating of some NPU device
PEs to be skipped in certain configurations due to an incorrect
assumption that a NULL peer PE in the array indicated there were no
more peers present. This patch fixes the problem by ensuring all peer
PEs are updated.

Signed-off-by: Alistair Popple 
---
 arch/powerpc/platforms/powernv/pci-ioda.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c 
b/arch/powerpc/platforms/powernv/pci-ioda.c
index 323e1e5..458133f 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -1612,7 +1612,10 @@ static int pnv_pci_ioda_dma_set_mask(struct pci_dev 
*pdev, u64 dma_mask)
 
/* Update peer npu devices */
if (pe->flags & PNV_IODA_PE_PEER)
-   for (i = 0; pe->peers[i]; i++) {
+   for (i = 0; i < PNV_IODA_MAX_PEER_PES; i++) {
+   if (!pe->peers[i])
+   continue;
+
linked_npu_dev = pe->peers[i]->pdev;
if (dma_get_mask(_npu_dev->dev) != dma_mask)
dma_set_mask(_npu_dev->dev, dma_mask);
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Daniel Axtens
Hi Arnd,

Thanks for your patch.
Acked-by: Daniel Axtens 

> Alternatively, remove the -Werror. We occasionally get people that add this
> flag to a Makefile, but it tends to cause more trouble whenever a new
> gcc version arrives.

Speaking up as the person who added -Werror to cxl, I'd really rather
it stayed. There are a number of reasons I think this. Here's the first
three that came to mind.

 - cxl is powerpc specific (and always will be for deep seated hardware
   reasons), and is handled through the powerpc tree. arch/powerpc
   compiles with -Werror, and as part of the powerpc ecosystem, cxl
   should too.

 - It forces cxl developers to a higher standard. cxl has already had
   more than it's fair share of incredibly difficult to debug issues,
   so any way we can reduce the risk of errors going in makes our lives
   (and our end-users lives) better.

 - I am (and I'm quite confident the other cxl people are) quite happy to
   send patches to fix build-breaking issues such as this. Indeed, I
   would have, except you sent it during the Australian night :)

If it's really super-duper important we can consider putting it behind a
config guard, but I'd really rather not.

Regards,
Daniel


signature.asc
Description: PGP signature
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Brian Norris
On Fri, Jan 08, 2016 at 09:51:35AM +1100, Daniel Axtens wrote:
> 
> > Alternatively, remove the -Werror. We occasionally get people that add this
> > flag to a Makefile, but it tends to cause more trouble whenever a new
> > gcc version arrives.

^^ Your reasons below don't really address this point. No matter how
well you patch a later kernel release, you can't fix a problem in an
existing kernel release that is triggered by a new warning in a new
compiler. This shouldn't cause a build failure.

> Speaking up as the person who added -Werror to cxl, I'd really rather
> it stayed. There are a number of reasons I think this. Here's the first
> three that came to mind.
> 
>  - cxl is powerpc specific (and always will be for deep seated hardware
>reasons), and is handled through the powerpc tree. arch/powerpc
>compiles with -Werror, and as part of the powerpc ecosystem, cxl
>should too.
> 
>  - It forces cxl developers to a higher standard. cxl has already had
>more than it's fair share of incredibly difficult to debug issues,
>so any way we can reduce the risk of errors going in makes our lives
>(and our end-users lives) better.

One problem with this point: not all warnings are under the purview of
cxl developers. For instance, if I turn up warning verbosity (W=1), then
the *header* files start producing plenty of warnings. Should this break
the build? Your code didn't change, and you can't fix those errors.

That is a real use case for me daily: I turn the warning verbosity up on
my compile tests, then (smart)diff the build logs before and after
new patches. That way, I can see what new warnings (even potentially
false positive ones) are introduced. I can't do that if every random
developer wants to stick -Werror in their Makefile.

>  - I am (and I'm quite confident the other cxl people are) quite happy to
>send patches to fix build-breaking issues such as this. Indeed, I
>would have, except you sent it during the Australian night :)
> 
> If it's really super-duper important we can consider putting it behind a
> config guard, but I'd really rather not.

I think there are plenty of reasons to either remove -Werror, or make it
configurable. Some of them are detailed above.

Maybe you can gate the -Werror on CONFIG_PPC_WERROR, just like the rest
of PowerPC?

Brian
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: linux-next: manual merge of the akpm-current tree with the powerpc tree

2016-01-07 Thread Stephen Rothwell
Hi all,

On Fri, 18 Dec 2015 16:33:51 +1100 Stephen Rothwell  
wrote:
>
> Today's linux-next merge of the akpm-current tree got a conflict in:
> 
>   arch/powerpc/include/asm/pgtable.h
> 
> between commit:
> 
>   ee4889c7bc2a ("powerpc/mm: Don't have generic headers introduce functions 
> touching pte bits")
> 
> from the powerpc tree and commit:
> 
>   e0e8474c0d55 ("mm, dax, gpu: convert vm_insert_mixed to pfn_t")
> 
> from the akpm-current tree.
> 
> I fixed it up (the code being changed was moved from this file - I added
> the fix up patch below) and can carry the fix as necessary (no action
> is required).
> 
> From: Stephen Rothwell 
> Date: Fri, 18 Dec 2015 16:30:47 +1100
> Subject: [PATCH] mm, dax, gpu: merge fix for convert vm_insert_mixed to pfn_t
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  arch/powerpc/include/asm/book3s/32/pgtable.h | 1 +
>  arch/powerpc/include/asm/book3s/64/hash.h| 1 +
>  arch/powerpc/include/asm/nohash/pgtable.h| 1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h 
> b/arch/powerpc/include/asm/book3s/32/pgtable.h
> index 38b33dcfcc9d..3ed3303c1295 100644
> --- a/arch/powerpc/include/asm/book3s/32/pgtable.h
> +++ b/arch/powerpc/include/asm/book3s/32/pgtable.h
> @@ -313,6 +313,7 @@ static inline int pte_present(pte_t pte)
>   * Even if PTEs can be unsigned long long, a PFN is always an unsigned
>   * long for now.
>   */
> +#define pfn_pte pfn_pte
>  static inline pte_t pfn_pte(unsigned long pfn, pgprot_t pgprot)
>  {
>   return __pte(((pte_basic_t)(pfn) << PTE_RPN_SHIFT) |
> diff --git a/arch/powerpc/include/asm/book3s/64/hash.h 
> b/arch/powerpc/include/asm/book3s/64/hash.h
> index 9e861b4378bd..6ab967d0da00 100644
> --- a/arch/powerpc/include/asm/book3s/64/hash.h
> +++ b/arch/powerpc/include/asm/book3s/64/hash.h
> @@ -410,6 +410,7 @@ static inline int pte_present(pte_t pte)
>   * Even if PTEs can be unsigned long long, a PFN is always an unsigned
>   * long for now.
>   */
> +#define pfn_pte pfn_pte
>  static inline pte_t pfn_pte(unsigned long pfn, pgprot_t pgprot)
>  {
>   return __pte(((pte_basic_t)(pfn) << PTE_RPN_SHIFT) |
> diff --git a/arch/powerpc/include/asm/nohash/pgtable.h 
> b/arch/powerpc/include/asm/nohash/pgtable.h
> index 1263c22d60d8..11e3767216c0 100644
> --- a/arch/powerpc/include/asm/nohash/pgtable.h
> +++ b/arch/powerpc/include/asm/nohash/pgtable.h
> @@ -49,6 +49,7 @@ static inline int pte_present(pte_t pte)
>   * Even if PTEs can be unsigned long long, a PFN is always an unsigned
>   * long for now.
>   */
> +#define pfn_pte pfn_pte
>  static inline pte_t pfn_pte(unsigned long pfn, pgprot_t pgprot) {
>   return __pte(((pte_basic_t)(pfn) << PTE_RPN_SHIFT) |
>pgprot_val(pgprot)); }
> -- 
> 2.6.2

This merge fix up patch now looks like this:

From: Stephen Rothwell 
Date: Tue, 15 Dec 2015 16:50:42 +1100
Subject: [PATCH] merge fix for "powerpc, thp: remove infrastructure for 
handling splitting PMDs"

Signed-off-by: Stephen Rothwell 
---
 arch/powerpc/include/asm/book3s/64/hash-64k.h | 12 
 arch/powerpc/include/asm/book3s/64/hash.h | 11 +++
 arch/powerpc/include/asm/book3s/64/pgtable.h  |  4 
 3 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/hash-64k.h 
b/arch/powerpc/include/asm/book3s/64/hash-64k.h
index 9e55e3b1fef0..849bbec80f7b 100644
--- a/arch/powerpc/include/asm/book3s/64/hash-64k.h
+++ b/arch/powerpc/include/asm/book3s/64/hash-64k.h
@@ -256,13 +256,6 @@ static inline int pmd_trans_huge(pmd_t pmd)
  (_PAGE_PTE | _PAGE_THP_HUGE));
 }
 
-static inline int pmd_trans_splitting(pmd_t pmd)
-{
-   if (pmd_trans_huge(pmd))
-   return pmd_val(pmd) & _PAGE_SPLITTING;
-   return 0;
-}
-
 static inline int pmd_large(pmd_t pmd)
 {
return !!(pmd_val(pmd) & _PAGE_PTE);
@@ -273,11 +266,6 @@ static inline pmd_t pmd_mknotpresent(pmd_t pmd)
return __pmd(pmd_val(pmd) & ~_PAGE_PRESENT);
 }
 
-static inline pmd_t pmd_mksplitting(pmd_t pmd)
-{
-   return __pmd(pmd_val(pmd) | _PAGE_SPLITTING);
-}
-
 #define __HAVE_ARCH_PMD_SAME
 static inline int pmd_same(pmd_t pmd_a, pmd_t pmd_b)
 {
diff --git a/arch/powerpc/include/asm/book3s/64/hash.h 
b/arch/powerpc/include/asm/book3s/64/hash.h
index 9e861b4378bd..b6827603e613 100644
--- a/arch/powerpc/include/asm/book3s/64/hash.h
+++ b/arch/powerpc/include/asm/book3s/64/hash.h
@@ -36,11 +36,6 @@
 #define _PAGE_SOFT_DIRTY   0x2 /* software: software dirty tracking */
 
 /*
- * THP pages can't be special. So use the _PAGE_SPECIAL
- */
-#define _PAGE_SPLITTING _PAGE_SPECIAL
-
-/*
  * We need to differentiate between explicit huge page and THP huge
  * page, since THP huge page also need to track real subpage details
  */
@@ -49,9 +44,9 @@
 /*
  * set of bits not changed in pmd_modify.
  */

linux-next: build failure after merge of the powerpc tree

2016-01-07 Thread Stephen Rothwell
Hi all,

After merging the powerpc tree, today's linux-next build (powerpc64
allnoconfig) failed like this:

arch/powerpc/mm/hash_utils_64.c: In function 'get_paca_psize':
arch/powerpc/mm/hash_utils_64.c:869:19: error: 'struct paca_struct' has no 
member named 'context'
  return get_paca()->context.user_psize;
   ^
arch/powerpc/mm/hash_utils_64.c:870:1: error: control reaches end of non-void 
function [-Werror=return-type]
 }
 ^

Caused by commit

  2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to the 
paca")

This build has CONFIG_PPC_MM_SLICES not set ...

I have applied the following patch for today:

From: Stephen Rothwell 
Date: Thu, 7 Jan 2016 19:07:18 +1100
Subject: [PATCH] powerpc: restore the user_psize member of the mm_context_t in
 the paca

It is used when CONFIG_PPC_MM_SLICES is not set.

Fixes: 2fc251a8dda5 ("powerpc: Copy only required pieces of the mm_context_t to 
the paca")
Signed-off-by: Stephen Rothwell 
---
 arch/powerpc/include/asm/paca.h | 2 ++
 arch/powerpc/mm/hash_utils_64.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index ef78c288c712..546540b91095 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -138,6 +138,7 @@ struct paca_struct {
u64 mm_ctx_low_slices_psize;
unsigned char mm_ctx_high_slices_psize[SLICE_ARRAY_SIZE];
 #else
+   u16 mm_ctx_user_psize;
u16 mm_ctx_sllp;
 #endif
 #endif
@@ -212,6 +213,7 @@ static inline void copy_mm_to_paca(mm_context_t *context)
memcpy(_paca()->mm_ctx_high_slices_psize,
   >high_slices_psize, SLICE_ARRAY_SIZE);
 #else
+   get_paca()->mm_ctx_user_psize = context->user_psize;
get_paca()->mm_ctx_sllp = context->sllp;
 #endif
 }
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index db744576d730..ba59d5977f34 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -866,7 +866,7 @@ static unsigned int get_paca_psize(unsigned long addr)
 #else
 unsigned int get_paca_psize(unsigned long addr)
 {
-   return get_paca()->context.user_psize;
+   return get_paca()->mm_ctx_user_psize;
 }
 #endif
 
-- 
2.6.4

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] misc: cxl: fix build for GCC 4.6.x

2016-01-07 Thread Michael Ellerman
On Thu, 2016-01-07 at 12:38 -0800, Brian Norris wrote:

> GCC 4.6.3 does not support -Wno-unused-const-variable. Instead, use the
> kbuild infrastructure that checks if this options exists.

Thanks.

> Also drop -Werror, since it's harmful, if forced on the user. New GCC's,
> or higher warning verbosities (e.g., W=1) can easily kill the build
> where they shouldn't.

But no thanks.

Please resend with just the cc-disable-warning change.

cheers

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 1/6] QE: Add IC, SI and SIRAM document to device tree bindings.

2016-01-07 Thread Zhao Qiang
Add IC, SI and SIRAM document of QE to
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt

Signed-off-by: Zhao Qiang 
---
 .../devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt  | 53 ++
 1 file changed, 53 insertions(+)

diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt 
b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt
index 4f89302..5e00fc8 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt
@@ -69,6 +69,59 @@ Example:
};
  };
 
+* Interrupt Controller (IC)
+
+Required properties:
+- compatible : should be "fsl,qe-ic".
+- reg : Address range of IC register set.
+- interrupts : interrupts generated by the device.
+
+Example:
+
+   qeic: interrupt-controller@80 {
+   interrupt-controller;
+   compatible = "fsl,qe-ic";
+   #address-cells = <0>;
+   #interrupt-cells = <1>;
+   reg = <0x80 0x80>;
+   interrupts = <95 2 0 0  94 2 0 0>; //high:79 low:78
+   };
+
+* Serial Interface Block (SI)
+
+The SI manages the routing of eight TDM lines to the QE block serial drivers
+, the MCC and the UCCs, for receive and transmit.
+
+Required properties:
+- compatible : should be "fsl,qe-si".
+- reg : Address range of SI register set.
+
+Example:
+
+   si1: si@700 {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   compatible = "fsl,qe-si";
+   reg = <0x700 0x80>;
+   };
+
+* Serial Interface Block RAM(SIRAM)
+
+store the routing entries of SI
+
+Required properties:
+- compatible : should be "fsl,qe-siram".
+- reg : Address range of SI RAM.
+
+Example:
+
+   siram1: siram@1000 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "fsl,qe-siram";
+   reg = <0x1000 0x800>;
+   };
+
 * QE Firmware Node
 
 This node defines a firmware binary that is embedded in the device tree, for
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 6/6] T104xQDS: Add qe node to t104xqds

2016-01-07 Thread Zhao Qiang
add qe node to t104xqds.dtsi

Signed-off-by: Zhao Qiang 
---
 arch/powerpc/boot/dts/fsl/t104xqds.dtsi | 44 +
 1 file changed, 44 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/t104xqds.dtsi 
b/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
index 1498d1e..8ebd574 100644
--- a/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
@@ -190,4 +190,48 @@
  0 0x0001>;
};
};
+
+   qe: qe@ffe14 {
+   ranges = <0x0 0xf 0xfe14 0x4>;
+   reg = <0xf 0xfe14 0 0x480>;
+   brg-frequency = <0>;
+   bus-frequency = <0>;
+
+   si1: si@700 {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   compatible = "fsl,qe-si";
+   reg = <0x700 0x80>;
+   };
+
+   siram1: siram@1000 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "fsl,qe-siram";
+   reg = <0x1000 0x800>;
+   };
+
+   ucc_hdlc: ucc@2000 {
+   compatible = "fsl,ucc_hdlc";
+   rx-clock-name = "clk8";
+   tx-clock-name = "clk9";
+   fsl,rx-sync-clock = "rsync_pin";
+   fsl,tx-sync-clock = "tsync_pin";
+   fsl,tx-timeslot = <0xfffe>;
+   fsl,rx-timeslot = <0xfffe>;
+   fsl,tdm-framer-type = "e1";
+   fsl,tdm-mode = "normal";
+   fsl,tdm-id = <0>;
+   fsl,siram-entry-id = <0>;
+   fsl,tdm-interface;
+   };
+
+   ucc_serial: ucc@2200 {
+   device_type = "serial";
+   compatible = "ucc_uart";
+   port-number = <1>;
+   rx-clock-name = "brg2";
+   tx-clock-name = "brg2";
+   };
+   };
 };
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 1/3] TDM: Add maxim ds26522 document to bindings

2016-01-07 Thread Zhao Qiang
Add maxim ds26522 document to
Documentation/devicetree/bindings/tdm/maxim,ds26522.txt

Signed-off-by: Zhao Qiang 
---
 Documentation/devicetree/bindings/tdm/maxim,ds26522.txt | 13 +
 1 file changed, 13 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/tdm/maxim,ds26522.txt

diff --git a/Documentation/devicetree/bindings/tdm/maxim,ds26522.txt 
b/Documentation/devicetree/bindings/tdm/maxim,ds26522.txt
new file mode 100644
index 000..3548c51
--- /dev/null
+++ b/Documentation/devicetree/bindings/tdm/maxim,ds26522.txt
@@ -0,0 +1,13 @@
+* Maxim (Dallas) DS26522 Octal T1/E1/J1 Transceiver
+
+Required properties:
+- compatible: Should contain "maxim,ds26522".
+- reg: SPI CS
+- spi-max-frequency: SPI bus max frequency.
+
+Example:
+   slic@2 {
+   compatible = "maxim,ds26522";
+   reg = <2>;
+   spi-max-frequency = <200>;
+   };
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 2/6] QE: Add ucc hdlc document to bindings

2016-01-07 Thread Zhao Qiang
Add ucc hdlc document to
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt

Signed-off-by: Zhao Qiang 
---
 .../bindings/powerpc/fsl/cpm_qe/network.txt| 35 ++
 1 file changed, 35 insertions(+)

diff --git a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt 
b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt
index 29b28b8..017cbf7 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt
@@ -41,3 +41,38 @@ Example:
fsl,mdio-pin = <12>;
fsl,mdc-pin = <13>;
};
+
+* HDLC
+
+Currently defined compatibles:
+- fsl,ucc_hdlc
+
+Properties for fsl,ucc_hdlc:
+rx-clock-name : which clock QE use for RX
+tx-clock-name : which clock QE use for TX
+fsl,rx-sync-clock : which pin QE use for RX sync
+fsl,tx-sync-clock : which pin QE use for TX sync
+fsl,tx-timeslot : tx timeslot
+fsl,rx-timeslot : rx timeslot
+fsl,tdm-framer-type : tdm framer type
+fsl,tdm-mode : tdm mode, normal or internal-loopback
+fsl,tdm-id : tdm ID
+fsl,siram-entry-id : SI RAM entry ID for the TDM
+fsl,tdm-interface : hdlc based on tdm-interface
+
+Example:
+
+   ucc@2000 {
+   compatible = "fsl,ucc_hdlc";
+   rx-clock-name = "clk8";
+   tx-clock-name = "clk9";
+   fsl,rx-sync-clock = "rsync_pin";
+   fsl,tx-sync-clock = "tsync_pin";
+   fsl,tx-timeslot = <0xfffe>;
+   fsl,rx-timeslot = <0xfffe>;
+   fsl,tdm-framer-type = "e1";
+   fsl,tdm-mode = "normal";
+   fsl,tdm-id = <0>;
+   fsl,siram-entry-id = <0>;
+   fsl,tdm-interface;
+   };
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 5/6] T104xRDB: Add qe node to t104xrdb

2016-01-07 Thread Zhao Qiang
add qe node to t104xrdb.dtsi

Signed-off-by: Zhao Qiang 
---
 arch/powerpc/boot/dts/fsl/t104xrdb.dtsi | 44 +
 1 file changed, 44 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi 
b/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi
index 830ea48..63649fa 100644
--- a/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi
@@ -186,4 +186,48 @@
  0 0x0001>;
};
};
+
+   qe: qe@ffe14 {
+   ranges = <0x0 0xf 0xfe14 0x4>;
+   reg = <0xf 0xfe14 0 0x480>;
+   brg-frequency = <0>;
+   bus-frequency = <0>;
+
+   si1: si@700 {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   compatible = "fsl,qe-si";
+   reg = <0x700 0x80>;
+   };
+
+   siram1: siram@1000 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "fsl,qe-siram";
+   reg = <0x1000 0x800>;
+   };
+
+   ucc_hdlc: ucc@2000 {
+   compatible = "fsl,ucc_hdlc";
+   rx-clock-name = "clk8";
+   tx-clock-name = "clk9";
+   fsl,rx-sync-clock = "rsync_pin";
+   fsl,tx-sync-clock = "tsync_pin";
+   fsl,tx-timeslot = <0xfffe>;
+   fsl,rx-timeslot = <0xfffe>;
+   fsl,tdm-framer-type = "e1";
+   fsl,tdm-mode = "normal";
+   fsl,tdm-id = <0>;
+   fsl,siram-entry-id = <0>;
+   fsl,tdm-interface;
+   };
+
+   ucc_serial: ucc@2200 {
+   device_type = "serial";
+   compatible = "ucc_uart";
+   port-number = <1>;
+   rx-clock-name = "brg2";
+   tx-clock-name = "brg2";
+   };
+   };
 };
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 4/6] T104xD4RDB: Add qe node to t104xd4rdb

2016-01-07 Thread Zhao Qiang
add qe node to t104xd4rdb.dtsi and t1040si-post.dtsi.

Signed-off-by: Zhao Qiang 
---
 arch/powerpc/boot/dts/fsl/t1040si-post.dtsi | 45 +
 arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi   | 44 
 2 files changed, 89 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi 
b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi
index d30b3de..2d93312 100644
--- a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi
@@ -579,3 +579,48 @@
};
};
 };
+
+ {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   device_type = "qe";
+   compatible = "fsl,qe";
+   fsl,qe-num-riscs = <1>;
+   fsl,qe-num-snums = <28>;
+
+   qeic: interrupt-controller@80 {
+   interrupt-controller;
+   compatible = "fsl,qe-ic";
+   #address-cells = <0>;
+   #interrupt-cells = <1>;
+   reg = <0x80 0x80>;
+   interrupts = <95 2 0 0  94 2 0 0>; //high:79 low:78
+   };
+
+   ucc@2000 {
+   cell-index = <1>;
+   reg = <0x2000 0x200>;
+   interrupts = <32>;
+   interrupt-parent = <>;
+   };
+
+   ucc@2200 {
+   cell-index = <3>;
+   reg = <0x2200 0x200>;
+   interrupts = <34>;
+   interrupt-parent = <>;
+   };
+
+   muram@1 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "fsl,qe-muram", "fsl,cpm-muram";
+   ranges = <0x0 0x1 0x6000>;
+
+   data-only@0 {
+   compatible = "fsl,qe-muram-data",
+   "fsl,cpm-muram-data";
+   reg = <0x0 0x6000>;
+   };
+   };
+};
diff --git a/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi 
b/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi
index 3f6d7c6..3733308 100644
--- a/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi
@@ -212,4 +212,48 @@
  0 0x0001>;
};
};
+
+   qe: qe@ffe14 {
+   ranges = <0x0 0xf 0xfe14 0x4>;
+   reg = <0xf 0xfe14 0 0x480>;
+   brg-frequency = <0>;
+   bus-frequency = <0>;
+
+   si1: si@700 {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   compatible = "fsl,qe-si";
+   reg = <0x700 0x80>;
+   };
+
+   siram1: siram@1000 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "fsl,qe-siram";
+   reg = <0x1000 0x800>;
+   };
+
+   ucc_hdlc: ucc@2000 {
+   compatible = "fsl,ucc_hdlc";
+   rx-clock-name = "clk8";
+   tx-clock-name = "clk9";
+   fsl,rx-sync-clock = "rsync_pin";
+   fsl,tx-sync-clock = "tsync_pin";
+   fsl,tx-timeslot = <0xfffe>;
+   fsl,rx-timeslot = <0xfffe>;
+   fsl,tdm-framer-type = "e1";
+   fsl,tdm-mode = "normal";
+   fsl,tdm-id = <0>;
+   fsl,siram-entry-id = <0>;
+   fsl,tdm-interface;
+   };
+
+   ucc_serial: ucc@2200 {
+   device_type = "serial";
+   compatible = "ucc_uart";
+   port-number = <1>;
+   rx-clock-name = "brg2";
+   tx-clock-name = "brg2";
+   };
+   };
 };
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Brian Norris
On Fri, Jan 08, 2016 at 12:31:54PM +1100, Ian Munsie wrote:
> Excerpts from Brian Norris's message of 2016-01-08 10:02:25 +1100:
> > >  - It forces cxl developers to a higher standard. cxl has already had
> > >more than it's fair share of incredibly difficult to debug issues,
> > >so any way we can reduce the risk of errors going in makes our lives
> > >(and our end-users lives) better.
> > 
> > One problem with this point: not all warnings are under the purview of
> > cxl developers. For instance, if I turn up warning verbosity (W=1), then

(BTW, I think most of these files are currently clean with W=1, but not
W=2)

> > the *header* files start producing plenty of warnings. Should this break
> > the build? Your code didn't change, and you can't fix those errors.
> 
> That's a good point, but the specific warnings that we suppressed in the
> new compiler are in drivers/misc/cxl/cxl.h, which is an internal header
> that should only ever be included by the cxl driver. We do have some
> headers elsewhere which are included by other drivers, the generic ppc
> architecture code and userspace, but these are all warning free and
> won't be affected by the -Werror when included from elsewhere.

I was referring to when extra warnings are turned on, not just the
default. So this fails spectacularly:

  $ export ARCH=powerpc
  $ make ppc64_defconfig
  $ make drivers/misc/cxl/api.o W=2
CC [M]  drivers/misc/cxl/api.o
  In file included from include/linux/bitops.h:36:0,
   from include/linux/kernel.h:10,
   from include/linux/list.h:8,
   from include/linux/pci.h:25,
   from drivers/misc/cxl/api.c:10:
  ./arch/powerpc/include/asm/bitops.h:226:94: error: declaration of 'ffs' 
shadows a built-in function [-Werror=shadow]
  In file included from include/linux/atomic.h:562:0,
   from include/linux/mutex.h:18,
   from include/linux/kernfs.h:13,
   from include/linux/sysfs.h:15,
   from include/linux/kobject.h:21,
   from include/linux/pci.h:28,
   from drivers/misc/cxl/api.c:10:
  include/asm-generic/atomic-long.h: In function 'atomic_long_read_acquire':
  include/asm-generic/atomic-long.h:45:231: error: nested extern declaration of 
'__compiletime_assert_45' [-Werror=nested-externs]
  In file included from include/linux/atomic.h:562:0,
   from include/linux/mutex.h:18,
   from include/linux/kernfs.h:13,
   from include/linux/sysfs.h:15,
   from include/linux/kobject.h:21,
   from include/linux/pci.h:28,
   from drivers/misc/cxl/api.c:10:
  include/asm-generic/atomic-long.h: In function 'atomic_long_set_release':
  include/asm-generic/atomic-long.h:57:1: error: nested extern declaration of 
'__compiletime_assert_57' [-Werror=nested-externs]
  In file included from include/linux/ktime.h:25:0,
   from include/linux/rcupdate.h:47,
   from include/linux/idr.h:18,
   from include/linux/kernfs.h:14,
   from include/linux/sysfs.h:15,
   from include/linux/kobject.h:21,
   from include/linux/pci.h:28,
   from drivers/misc/cxl/api.c:10:
  include/linux/jiffies.h: In function 'jiffies_to_timespec':
  include/linux/jiffies.h:422:131: error: declaration of 'jiffies' shadows a 
global declaration [-Werror=shadow]
  include/linux/jiffies.h:78:65: error: shadowed declaration is here 
[-Werror=shadow]
  In file included from include/linux/kernfs.h:16:0,
   from include/linux/sysfs.h:15,
   from include/linux/kobject.h:21,
   from include/linux/pci.h:28,
   from drivers/misc/cxl/api.c:10:
  [...many more failures...]
  cc1: all warnings being treated as errors
  make[1]: *** [drivers/misc/cxl/api.o] Error 1
  make: *** [drivers/misc/cxl/api.o] Error 2


I doubt you plan to fix all those. So making -Werror configurable seems like
the only way forward, then. (Glad you agreed!)

Regards,
Brian
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 3/3] T1040D4RDB: add tdm riser card node to t1040d4rdb

2016-01-07 Thread Zhao Qiang
add tdm riser card node to t1040d4rdb.dts

Signed-off-by: Zhao Qiang 
---
 arch/powerpc/boot/dts/fsl/t1040d4rdb.dts | 16 
 1 file changed, 16 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts 
b/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts
index fb6bc02..ee3d1ec 100644
--- a/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts
@@ -41,6 +41,22 @@
#address-cells = <2>;
#size-cells = <2>;
interrupt-parent = <>;
+
+   soc: soc@ffe00 {
+   spi@11 {
+   slic@1 {
+   compatible = "maxim,ds26522";
+   reg = <1>;
+   spi-max-frequency = <200>;
+   };
+
+   slic@2 {
+   compatible = "maxim,ds26522";
+   reg = <2>;
+   spi-max-frequency = <200>;
+   };
+   };
+   };
 };
 
 #include "t1040si-post.dtsi"
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 2/3] T1040RDB: add tdm riser card node to t1040rdb

2016-01-07 Thread Zhao Qiang
add tdm riser card node to t1040rdb.dts

Signed-off-by: Zhao Qiang 
---
 arch/powerpc/boot/dts/fsl/t1040rdb.dts | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/arch/powerpc/boot/dts/fsl/t1040rdb.dts 
b/arch/powerpc/boot/dts/fsl/t1040rdb.dts
index cf19415..d52b011 100644
--- a/arch/powerpc/boot/dts/fsl/t1040rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1040rdb.dts
@@ -43,6 +43,16 @@
compatible = "fsl,t1040rdb-cpld";
};
};
+
+   soc: soc@ffe00 {
+   spi@11 {
+   slic@3 {
+   compatible = "maxim,ds26522";
+   reg = <3>;
+   spi-max-frequency = <200>; /* input clock */
+   };
+   };
+   };
 };
 
 #include "t1040si-post.dtsi"
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Michael Ellerman
On Thu, 2016-01-07 at 18:07 -0800, Brian Norris wrote:
> On Fri, Jan 08, 2016 at 12:31:54PM +1100, Ian Munsie wrote:
> > Excerpts from Brian Norris's message of 2016-01-08 10:02:25 +1100:
> > > >  - It forces cxl developers to a higher standard. cxl has already had
> > > >more than it's fair share of incredibly difficult to debug issues,
> > > >so any way we can reduce the risk of errors going in makes our lives
> > > >(and our end-users lives) better.
> > > 
> > > One problem with this point: not all warnings are under the purview of
> > > cxl developers. For instance, if I turn up warning verbosity (W=1), then
> 
> (BTW, I think most of these files are currently clean with W=1, but not W=2)

> > > the *header* files start producing plenty of warnings. Should this break
> > > the build? Your code didn't change, and you can't fix those errors.
> > 
> > That's a good point, but the specific warnings that we suppressed in the
> > new compiler are in drivers/misc/cxl/cxl.h, which is an internal header
> > that should only ever be included by the cxl driver. We do have some
> > headers elsewhere which are included by other drivers, the generic ppc
> > architecture code and userspace, but these are all warning free and
> > won't be affected by the -Werror when included from elsewhere.
> 
> I was referring to when extra warnings are turned on, not just the
> default. So this fails spectacularly:
> 
>   $ export ARCH=powerpc
>   $ make ppc64_defconfig
>   $ make drivers/misc/cxl/api.o W=2
> CC [M]  drivers/misc/cxl/api.o
>   In file included from include/linux/bitops.h:36:0,
>from include/linux/kernel.h:10,
>from include/linux/list.h:8,
>from include/linux/pci.h:25,
>from drivers/misc/cxl/api.c:10:
>   ./arch/powerpc/include/asm/bitops.h:226:94: error: declaration of 'ffs' 
> shadows a built-in function [-Werror=shadow]

>
> I doubt you plan to fix all those. So making -Werror configurable seems like
> the only way forward, then. (Glad you agreed!)

Yep, I'm happy to make Werror configurable.

cxl can probably just use the existing PPC_WERROR.

cheers

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 3/6] QE: Add uqe_serial document to bindings

2016-01-07 Thread Zhao Qiang
Add uqe_serial document to
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt

Signed-off-by: Zhao Qiang 
---
 .../bindings/powerpc/fsl/cpm_qe/uqe_serial.txt   | 20 
 1 file changed, 20 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt

diff --git 
a/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt 
b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt
new file mode 100644
index 000..e677599
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/uqe_serial.txt
@@ -0,0 +1,20 @@
+* Serial
+
+Currently defined compatibles:
+- ucc_uart
+
+Properties for ucc_uart:
+device_type : which type the device is
+port-number : port number of UCC-UART
+rx-clock-name : which clock QE use for RX
+tx-clock-name : which clock QE use for TX
+
+Example:
+
+   serial: ucc@2200 {
+   device_type = "serial";
+   compatible = "ucc_uart";
+   port-number = <1>;
+   rx-clock-name = "brg2";
+   tx-clock-name = "brg2";
+   };
-- 
2.1.0.27.g96db324

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf

2016-01-07 Thread Arnaldo Carvalho de Melo
Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
> On 2015/12/17 09:19AM, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Dec 17, 2015 at 10:37:14AM +0530, Naveen N. Rao escreveu:
> > > On 2015/12/17 09:29AM, Wang Nan wrote:
> > > > The whole thread is:
> > > > 
> > > > [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf:
> > > > http://lkml.kernel.org/g/1450150557-127942-1-git-send-email-wangn...@huawei.com
> > > > 
> > > > [PATCH v3 1/3] perf tools: Fix PowerPC native building
> > > > http://lkml.kernel.org/g/1450150557-127942-2-git-send-email-wangn...@huawei.com
> > > > 
> > > > [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to 
> > > > tools/scripts
> > > > http://lkml.kernel.org/g/1450150557-127942-3-git-send-email-wangn...@huawei.com
> > > > 
> > > > [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf
> > > > http://lkml.kernel.org/g/1450150557-127942-4-git-send-email-wangn...@huawei.com
> > > > 
> > > > and [PATCH v3 3/3] breaks local building because the usage of 
> > > > "srctree", and
> >  ^^
> > > You mean v4 here.
> > 
> > > Anyway, now that you've sent v4, it should be much clearer.
> > 
> > Right, I should've read it more thoroughly, but anyway, I'll process it
> > today.
> 
> Bump.
> 
> Arnaldo,
> Can you please push at least the initial 3 patches of this for v4.4?  

Sure, I'll try to do that now.

> Wang Nan has posted v6 here:
> http://thread.gmane.org/gmane.linux.kernel/2110626

And process the other patches in this series, in perf/core.

> 
> 
> Thanks,
> Naveen
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Ian Munsie
Acked-by: Ian Munsie 

As suggested by Brian we might also gate the -Werror with
CONFIG_PPC_WERROR, but that can be in a separate commit.

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf

2016-01-07 Thread Wangnan (F)



On 2016/1/8 5:23, Arnaldo Carvalho de Melo wrote:

Em Thu, Jan 07, 2016 at 05:39:57PM -0300, Arnaldo Carvalho de Melo escreveu:

Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:

Can you please push at least the initial 3 patches of this for v4.4?
Wang Nan has posted v6 here:
http://thread.gmane.org/gmane.linux.kernel/2110626
  

So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:
  

[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ make -C tools/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$
Trying to figure this out...

So, this doesn't seem to have been tessted, this part, specifically:

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index 8ea3dffc5065..cd9c3ce1a5c2 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -12,7 +12,7 @@ endif
  else
  PERF := .
  
-include config/Makefile.arch

+include $(srctree)/scripts/Makefile.arch
  
  # FIXME looks like x86 is the only arch running tests ;-)

  # we need some IS_(32/64) flag to make this generic




Because $(srctree) is not set at that point, I copied the needed bits from
tools/perf/Makefile.perf and got the patch below, which makes:L

   make -C tools/perf build-test

Work for me again.

This should wrap up the day nicely, making me think of Jens Axboe recent
cool reaction to an untested patch:

http://lkml.kernel.org/r/5661c2bc.9030...@kernel.dk

:-)



Sorry. I though I have tested my patch by building perf, but didn't
realize perf/tests/make is not used in normal building. Doing build-test
takes too long, so I always forget it. Also, in my environment it can fail:

  LD 
/opt/wangnan/yocto_build/tmp-eglibc/work/generic_x86_64-oe-linux/perf/1.0-r8/perf-1.0/perf-in.o
  LINK 
/opt/wangnan/yocto_build/tmp-eglibc/work/generic_x86_64-oe-linux/perf/1.0-r8/perf-1.0/perf

  test: test -x ./perf
make[2]: *** [make_no_newt] Error 1
make[1]: *** [all] Error 2
make: *** [build-test] Error 2

since I'm in a yocto building environment. I'll look into this problem 
and give a patch on it.


Thank you.

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] powerpc/powernv: Remove misleading comment in pci.c

2016-01-07 Thread Russell Currey
PCI in powernv now supports quite a bit more than p5ioc2, so remove the
outdated comment.

Signed-off-by: Russell Currey 
---
 arch/powerpc/platforms/powernv/pci.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/pci.c 
b/arch/powerpc/platforms/powernv/pci.c
index f2dd772..fcedc57 100644
--- a/arch/powerpc/platforms/powernv/pci.c
+++ b/arch/powerpc/platforms/powernv/pci.c
@@ -1,8 +1,6 @@
 /*
  * Support PCI/PCIe on PowerNV platforms
  *
- * Currently supports only P5IOC2
- *
  * Copyright 2011 Benjamin Herrenschmidt, IBM Corp.
  *
  * This program is free software; you can redistribute it and/or
-- 
2.7.0

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf

2016-01-07 Thread Naveen N. Rao
On 2016/01/07 05:39PM, Arnaldo Carvalho de Melo wrote:
> Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
> > On 2015/12/17 09:19AM, Arnaldo Carvalho de Melo wrote:
> > > Em Thu, Dec 17, 2015 at 10:37:14AM +0530, Naveen N. Rao escreveu:
> > > > On 2015/12/17 09:29AM, Wang Nan wrote:
> > > > > The whole thread is:
> > > > > 
> > > > > [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf:
> > > > > http://lkml.kernel.org/g/1450150557-127942-1-git-send-email-wangn...@huawei.com
> > > > > 
> > > > > [PATCH v3 1/3] perf tools: Fix PowerPC native building
> > > > > http://lkml.kernel.org/g/1450150557-127942-2-git-send-email-wangn...@huawei.com
> > > > > 
> > > > > [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to 
> > > > > tools/scripts
> > > > > http://lkml.kernel.org/g/1450150557-127942-3-git-send-email-wangn...@huawei.com
> > > > > 
> > > > > [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf
> > > > > http://lkml.kernel.org/g/1450150557-127942-4-git-send-email-wangn...@huawei.com
> > > > > 
> > > > > and [PATCH v3 3/3] breaks local building because the usage of 
> > > > > "srctree", and
> > >^^
> > > > You mean v4 here.
> > > 
> > > > Anyway, now that you've sent v4, it should be much clearer.
> > > 
> > > Right, I should've read it more thoroughly, but anyway, I'll process it
> > > today.
> > 
> > Bump.
> > 
> > Arnaldo,
> > Can you please push at least the initial 3 patches of this for v4.4?  
> > Wang Nan has posted v6 here:
> > http://thread.gmane.org/gmane.linux.kernel/2110626
> 
> So I tried it again today, from the v6, the latest patch with that
> subject line in my inbox, and I get this, after applying the first three
> patches:
> 
> [acme@zoo linux]$ make -C tools clean > /dev/null
> [acme@zoo linux]$ make -C tools/perf build-test

Thanks, and sorry for the slip-up there - I should've caught that.

> make: Entering directory '/home/git/linux/tools/perf'
> Testing Makefile
> tests/make:15: /scripts/Makefile.arch: No such file or directory
> make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
> tests/make:5: recipe for target 'all' failed
> make[1]: *** [all] Error 2
> Makefile:81: recipe for target 'build-test' failed
> make: *** [build-test] Error 2
> make: Leaving directory '/home/git/linux/tools/perf'
> [acme@zoo linux]$
> 
> [acme@zoo linux]$ git log --oneline | head -10

FWIW, git log --oneline -10 works too :-)


Regards,
Naveen

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] misc: cxl: fix build for GCC 4.6.x

2016-01-07 Thread Brian Norris
GCC 4.6.3 does not support -Wno-unused-const-variable. Instead, use the
kbuild infrastructure that checks if this options exists.

Also drop -Werror, since it's harmful, if forced on the user. New GCC's,
or higher warning verbosities (e.g., W=1) can easily kill the build
where they shouldn't.

Suggested-by: Michal Marek 
Signed-off-by: Brian Norris 
---

On Thu, Jan 07, 2016 at 12:18:26PM -0800, Brian Norris wrote:
> On Thu, Jan 07, 2016 at 11:57:31AM -0800, Joe Perches wrote:
> > On Thu, 2016-01-07 at 20:44 +0100, Michal Marek wrote:
> > > We have cc-disable-warning for this.
> > 
> > Thanks Michal.
> 
> Cool, thanks! I'll send a patch to use that instead.

 drivers/misc/cxl/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/cxl/Makefile b/drivers/misc/cxl/Makefile
index 6982f603fadc..0163d4d1fd1e 100644
--- a/drivers/misc/cxl/Makefile
+++ b/drivers/misc/cxl/Makefile
@@ -1,4 +1,4 @@
-ccflags-y := -Werror -Wno-unused-const-variable
+ccflags-y := $(call cc-disable-warning, unused-const-variable)
 
 cxl-y  += main.o file.o irq.o fault.o native.o
 cxl-y  += context.o sysfs.o debugfs.o pci.o trace.o
-- 
2.6.0.rc2.230.g3dd15c0
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf

2016-01-07 Thread Arnaldo Carvalho de Melo
Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
> On 2015/12/17 09:19AM, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Dec 17, 2015 at 10:37:14AM +0530, Naveen N. Rao escreveu:
> > > On 2015/12/17 09:29AM, Wang Nan wrote:
> > > > The whole thread is:
> > > > 
> > > > [PATCH v3 0/3] perf build: PowerPC: Fix build breakage due to libbpf:
> > > > http://lkml.kernel.org/g/1450150557-127942-1-git-send-email-wangn...@huawei.com
> > > > 
> > > > [PATCH v3 1/3] perf tools: Fix PowerPC native building
> > > > http://lkml.kernel.org/g/1450150557-127942-2-git-send-email-wangn...@huawei.com
> > > > 
> > > > [PATCH v3 2/3] tools: Move Makefile.arch from perf/config to 
> > > > tools/scripts
> > > > http://lkml.kernel.org/g/1450150557-127942-3-git-send-email-wangn...@huawei.com
> > > > 
> > > > [PATCH v3 3/3] perf: bpf: Fix build breakage due to libbpf
> > > > http://lkml.kernel.org/g/1450150557-127942-4-git-send-email-wangn...@huawei.com
> > > > 
> > > > and [PATCH v3 3/3] breaks local building because the usage of 
> > > > "srctree", and
> >  ^^
> > > You mean v4 here.
> > 
> > > Anyway, now that you've sent v4, it should be much clearer.
> > 
> > Right, I should've read it more thoroughly, but anyway, I'll process it
> > today.
> 
> Bump.
> 
> Arnaldo,
> Can you please push at least the initial 3 patches of this for v4.4?  
> Wang Nan has posted v6 here:
> http://thread.gmane.org/gmane.linux.kernel/2110626

So I tried it again today, from the v6, the latest patch with that
subject line in my inbox, and I get this, after applying the first three
patches:

[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ make -C tools/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
tests/make:15: /scripts/Makefile.arch: No such file or directory
make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
tests/make:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$

[acme@zoo linux]$ git log --oneline | head -10
a1f721fa8b82 perf bpf: Fix build breakage due to libbpf
41020638ceb2 tools: Move Makefile.arch from perf/config to tools/scripts
abf316e348da perf tools: Fix PowerPC native building
12ca6ad2e3a8 perf: Fix race in swevent hash
c12744994465 perf: Fix race in perf_event_exec()
2d2e7ac14a1f Merge tag 'perf-urgent-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
fb202539e61b perf list: Robustify event printing routine
d643b5aba848 perf list: Add support for PERF_COUNT_SW_BPF_OUT
03fba21adb19 Merge tag 'perf-urgent-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
4938cf0c7a62 perf hists browser: Fix segfault if use symbol filter in cmdline
[acme@zoo linux]$

Trying to figure this out...

- Arnaldo
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] mtd: nand: add FSL_SOC dependency to drivers using FSL_LBC

2016-01-07 Thread Scott Wood
On Thu, 2016-01-07 at 12:34 -0800, Brian Norris wrote:
> Hi Scott,
> 
> On Thu, Jan 07, 2016 at 01:47:33PM -0600, Scott Wood wrote:
> > On Thu, 2016-01-07 at 11:21 -0800, Brian Norris wrote:
> > > I've managed to construct .config files (for ppc64) that come across
> > > this Kconfig warning:
> > > 
> > >   warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM)
> > > selects
> > > FSL_LBC which has unmet direct dependencies (FSL_SOC)
> > > 
> > > Let's add the FSL_SOC dependency to the NAND drivers. AFAICT, they are
> > > only supported on PPC32 FSL SoCs anyway.
> > 
> > There are other problems, if you can enable an 83xx board on ppc64. 
> >  PPC_83xx
> > does select FSL_SOC so I don't know why it's unmet.
> 
> I don't have an 83xx board enabled. I just have MTD_NAND_FSL_ELBC
> enabled; it only depends on PPC right now. Attaching the current test
> .config, for clarity.

Where did MPC836x_RDK come from above?

-Scott


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] mtd: nand: add FSL_SOC dependency to drivers using FSL_LBC

2016-01-07 Thread Brian Norris
Hi Scott,

On Thu, Jan 07, 2016 at 02:40:37PM -0600, Scott Wood wrote:
> On Thu, 2016-01-07 at 12:34 -0800, Brian Norris wrote:
> > On Thu, Jan 07, 2016 at 01:47:33PM -0600, Scott Wood wrote:
> > > On Thu, 2016-01-07 at 11:21 -0800, Brian Norris wrote:
> > > > I've managed to construct .config files (for ppc64) that come across
> > > > this Kconfig warning:
> > > > 
> > > >   warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM)
> > > > selects
> > > > FSL_LBC which has unmet direct dependencies (FSL_SOC)
> > > > 
> > > > Let's add the FSL_SOC dependency to the NAND drivers. AFAICT, they are
> > > > only supported on PPC32 FSL SoCs anyway.
> > > 
> > > There are other problems, if you can enable an 83xx board on ppc64. 
> > >  PPC_83xx
> > > does select FSL_SOC so I don't know why it's unmet.
> > 
> > I don't have an 83xx board enabled. I just have MTD_NAND_FSL_ELBC
> > enabled; it only depends on PPC right now. Attaching the current test
> > .config, for clarity.
> 
> Where did MPC836x_RDK come from above?

I believe that Kconfig warning is misleading. Seems like it should be
saying '||' instead of '&&'. I did not have MPC836x_RDK or
MTD_NAND_FSL_UPM in my .config; only MTD_NAND_FSL_ELBC=y. (Check the
attachment from my previous mail to be sure.)

Regards,
Brian
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Joe Perches
On Thu, 2016-01-07 at 20:44 +0100, Michal Marek wrote:
> Dne 7.1.2016 v 20:37 Joe Perches napsal(a):
> > On Thu, 2016-01-07 at 10:54 -0800, Brian Norris wrote:
> > > I'm using a GCC 4.6.3 compiler for some compile tests, and I noticed
> > > that commit 2cd55c68c0a4 ("cxl: Fix build failure due to -Wunused-variable
> > > behaviour change") breaks my builds, because the
> > > -Wno-unused-const-variable doesn't exist on GCC 4.6.3.
> > >   drivers/misc/cxl/base.c: At top level:
> > >   cc1: error: unrecognized command line option 
> > > "-Wno-unused-const-variable" [-Werror]
> > > Any thoughts on how to best fix this? I'd like not to have to scrounge
> > > up a new cross compiler just for build tests.
> > drivers/misc/cxl/Makefile:ccflags-y := -Werror -Wno-unused-const-variable
> > You could take that -Wno-unused-const-variable out of the
> > Makefile or maybe add something like:
> > 
> > $(call cc-ifversion, -ge, 0530, -Wno-unused-const-variable)
> > 
> > or whatever gcc version actually added that unused-const-variable check
> 
> We have cc-disable-warning for this.

Thanks Michal.

Perhaps most uses of -Werror without some CONFIG_ guard
should be removed or replaced by some other mechanism.

$ git grep -E "=\s*\-Werror" | grep -v CONFIG
[...]
arch/alpha/lib/Makefile:ccflags-y := -Werror
arch/alpha/mm/Makefile:ccflags-y := -Werror
arch/alpha/oprofile/Makefile:ccflags-y := -Werror -Wno-sign-compare
arch/metag/oprofile/Makefile:ccflags-y  += -Werror
arch/mips/Kbuild:subdir-ccflags-y := -Werror
arch/sh/cchips/hd6446x/Makefile:ccflags-y := -Werror
arch/sh/kernel/Makefile:ccflags-y := -Werror
arch/sh/lib/Makefile:ccflags-y := -Werror
arch/sh/mm/Makefile:ccflags-y := -Werror
arch/sparc/kernel/Makefile:ccflags-y := -Werror
arch/sparc/lib/Makefile:ccflags-y := -Werror
arch/sparc/mm/Makefile:ccflags-y := -Werror
arch/sparc/prom/Makefile:ccflags := -Werror
drivers/gpu/drm/tilcdc/Makefile:ccflags-y += -Werror
drivers/misc/cxl/Makefile:ccflags-y := -Werror -Wno-unused-const-variable
drivers/scsi/aic7xxx/Makefile:ccflags-y += -Werror
drivers/scsi/lpfc/Makefile:ccflags-y += -Werror

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Brian Norris
On Thu, Jan 07, 2016 at 11:57:31AM -0800, Joe Perches wrote:
> On Thu, 2016-01-07 at 20:44 +0100, Michal Marek wrote:
> > Dne 7.1.2016 v 20:37 Joe Perches napsal(a):
> > > On Thu, 2016-01-07 at 10:54 -0800, Brian Norris wrote:
> > > > I'm using a GCC 4.6.3 compiler for some compile tests, and I noticed
> > > > that commit 2cd55c68c0a4 ("cxl: Fix build failure due to 
> > > > -Wunused-variable
> > > > behaviour change") breaks my builds, because the
> > > > -Wno-unused-const-variable doesn't exist on GCC 4.6.3.
> > > >   drivers/misc/cxl/base.c: At top level:
> > > >   cc1: error: unrecognized command line option 
> > > > "-Wno-unused-const-variable" [-Werror]
> > > > Any thoughts on how to best fix this? I'd like not to have to scrounge
> > > > up a new cross compiler just for build tests.
> > > drivers/misc/cxl/Makefile:ccflags-y := -Werror -Wno-unused-const-variable
> > > You could take that -Wno-unused-const-variable out of the
> > > Makefile or maybe add something like:
> > > 
> > > $(call cc-ifversion, -ge, 0530, -Wno-unused-const-variable)
> > > 
> > > or whatever gcc version actually added that unused-const-variable check
> > 
> > We have cc-disable-warning for this.
> 
> Thanks Michal.

Cool, thanks! I'll send a patch to use that instead.

> Perhaps most uses of -Werror without some CONFIG_ guard
> should be removed or replaced by some other mechanism.

+1000. I'd personally like to see all one-off uses of -Werror removed.

> $ git grep -E "=\s*\-Werror" | grep -v CONFIG
> [...]
> arch/alpha/lib/Makefile:ccflags-y := -Werror
> arch/alpha/mm/Makefile:ccflags-y := -Werror
> arch/alpha/oprofile/Makefile:ccflags-y := -Werror -Wno-sign-compare
> arch/metag/oprofile/Makefile:ccflags-y+= -Werror
> arch/mips/Kbuild:subdir-ccflags-y := -Werror

^^ I always patch this one out when build-testing MIPS, since I like to
turn up warning levels (e.g., W=1), but not kill the build entirely.

Regards,
Brian

> arch/sh/cchips/hd6446x/Makefile:ccflags-y := -Werror
> arch/sh/kernel/Makefile:ccflags-y := -Werror
> arch/sh/lib/Makefile:ccflags-y := -Werror
> arch/sh/mm/Makefile:ccflags-y := -Werror
> arch/sparc/kernel/Makefile:ccflags-y := -Werror
> arch/sparc/lib/Makefile:ccflags-y := -Werror
> arch/sparc/mm/Makefile:ccflags-y := -Werror
> arch/sparc/prom/Makefile:ccflags := -Werror
> drivers/gpu/drm/tilcdc/Makefile:  ccflags-y += -Werror
> drivers/misc/cxl/Makefile:ccflags-y := -Werror -Wno-unused-const-variable
> drivers/scsi/aic7xxx/Makefile:ccflags-y += -Werror
> drivers/scsi/lpfc/Makefile:ccflags-y += -Werror
> 
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] mtd: nand: add FSL_SOC dependency to drivers using FSL_LBC

2016-01-07 Thread Scott Wood
On Thu, 2016-01-07 at 11:21 -0800, Brian Norris wrote:
> I've managed to construct .config files (for ppc64) that come across
> this Kconfig warning:
> 
>   warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM) selects
> FSL_LBC which has unmet direct dependencies (FSL_SOC)
> 
> Let's add the FSL_SOC dependency to the NAND drivers. AFAICT, they are
> only supported on PPC32 FSL SoCs anyway.

There are other problems, if you can enable an 83xx board on ppc64.  PPC_83xx
does select FSL_SOC so I don't know why it's unmet.

FWIW, I think we should instead drop the FSL_SOC dependency from FSL_LBC.  It
doesn't use anything that I can see from fsl_soc.c.  It's been commonly abused
as a means for hiding the option on builds for other platforms, but that has
to stop anyway now that many of these devices are also on ARM-based chips. 
 eLBC isn't, since it was obsoleted by IFC, but it shouldn't be unnecessarily
different from IFC.  IFC currently depends on FSL_SOC but that needs to go
away.

-Scott

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Arnd Bergmann
On Thursday 07 January 2016 10:54:06 Brian Norris wrote:
> 
> I'm using a GCC 4.6.3 compiler for some compile tests, and I noticed
> that commit 2cd55c68c0a4 ("cxl: Fix build failure due to -Wunused-variable
> behaviour change") breaks my builds, because the
> -Wno-unused-const-variable doesn't exist on GCC 4.6.3.
> 
>   drivers/misc/cxl/base.c: At top level:
>   cc1: error: unrecognized command line option "-Wno-unused-const-variable" 
> [-Werror]
> 
> Any thoughts on how to best fix this? I'd like not to have to scrounge
> up a new cross compiler just for build tests.
> 

This should do:

diff --git a/drivers/misc/cxl/Makefile b/drivers/misc/cxl/Makefile
index 6982f603fadc..add2cc17ed91 100644
--- a/drivers/misc/cxl/Makefile
+++ b/drivers/misc/cxl/Makefile
@@ -1,4 +1,4 @@
-ccflags-y := -Werror -Wno-unused-const-variable
+ccflags-y := -Werror $(call cc-disable-warning,unused-const-variable)
 
 cxl-y  += main.o file.o irq.o fault.o native.o
 cxl-y  += context.o sysfs.o debugfs.o pci.o trace.o


Alternatively, remove the -Werror. We occasionally get people that add this
flag to a Makefile, but it tends to cause more trouble whenever a new
gcc version arrives.

Arnd
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] mtd: nand: add FSL_SOC dependency to drivers using FSL_LBC

2016-01-07 Thread Brian Norris
Hi Scott,

On Thu, Jan 07, 2016 at 01:47:33PM -0600, Scott Wood wrote:
> On Thu, 2016-01-07 at 11:21 -0800, Brian Norris wrote:
> > I've managed to construct .config files (for ppc64) that come across
> > this Kconfig warning:
> > 
> >   warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM) selects
> > FSL_LBC which has unmet direct dependencies (FSL_SOC)
> > 
> > Let's add the FSL_SOC dependency to the NAND drivers. AFAICT, they are
> > only supported on PPC32 FSL SoCs anyway.
> 
> There are other problems, if you can enable an 83xx board on ppc64.  PPC_83xx
> does select FSL_SOC so I don't know why it's unmet.

I don't have an 83xx board enabled. I just have MTD_NAND_FSL_ELBC
enabled; it only depends on PPC right now. Attaching the current test
.config, for clarity.

So I guess only the first hunk of my patch is required right now.

> FWIW, I think we should instead drop the FSL_SOC dependency from FSL_LBC.  It
> doesn't use anything that I can see from fsl_soc.c.  It's been commonly abused
> as a means for hiding the option on builds for other platforms, but that has
> to stop anyway now that many of these devices are also on ARM-based chips. 
>  eLBC isn't, since it was obsoleted by IFC, but it shouldn't be unnecessarily
> different from IFC.  IFC currently depends on FSL_SOC but that needs to go
> away.

Solve this however you'd like. Consider my patch just a bug report :)

Brian
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 4.4.0-rc8 Kernel Configuration
#
CONFIG_PPC64=y

#
# Processor support
#
CONFIG_PPC_BOOK3S_64=y
# CONFIG_PPC_BOOK3E_64 is not set
CONFIG_GENERIC_CPU=y
# CONFIG_CELL_CPU is not set
# CONFIG_POWER4_CPU is not set
# CONFIG_POWER5_CPU is not set
# CONFIG_POWER6_CPU is not set
# CONFIG_POWER7_CPU is not set
# CONFIG_POWER8_CPU is not set
CONFIG_PPC_BOOK3S=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
# CONFIG_VSX is not set
# CONFIG_PPC_ICSWX is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_64=y
# CONFIG_PPC_MM_SLICES is not set
CONFIG_PPC_HAVE_PMU_SUPPORT=y
CONFIG_PPC_PERF_CTRS=y
# CONFIG_SMP is not set
CONFIG_PPC_DOORBELL=y
CONFIG_VDSO32=y
CONFIG_CPU_BIG_ENDIAN=y
# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_64BIT=y
CONFIG_WORD_SIZE=64
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NR_IRQS=512
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_ARCH_HAS_ILOG2_U64=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK=y
CONFIG_PPC=y
# CONFIG_GENERIC_CSUM is not set
CONFIG_EARLY_PRINTK=y
CONFIG_PANIC_TIMEOUT=180
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
CONFIG_EPAPR_BOOT=y
# CONFIG_DEFAULT_UIMAGE is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_PPC_DCR_MMIO is not set
# CONFIG_PPC_OF_PLATFORM_PCI is not set
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_PPC_EMULATE_SSTEP=y
CONFIG_ZONE_DMA32=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_FHANDLE is not set
CONFIG_USELIB=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_IRQ_DOMAIN=y
CONFIG_GENERIC_MSI_IRQ=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_GENERIC_TIME_VSYSCALL_OLD=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
# CONFIG_RCU_STALL_COMMON is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
# CONFIG_BUILD_BIN2C is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CGROUP_PIDS is not set
CONFIG_CGROUP_DEVICE=y
# CONFIG_CPUSETS 

Build failure: -Wno-unused-const-variable DNE on old GCC

2016-01-07 Thread Brian Norris
Hi,

I'm using a GCC 4.6.3 compiler for some compile tests, and I noticed
that commit 2cd55c68c0a4 ("cxl: Fix build failure due to -Wunused-variable
behaviour change") breaks my builds, because the
-Wno-unused-const-variable doesn't exist on GCC 4.6.3.

  drivers/misc/cxl/base.c: At top level:
  cc1: error: unrecognized command line option "-Wno-unused-const-variable" 
[-Werror]

Any thoughts on how to best fix this? I'd like not to have to scrounge
up a new cross compiler just for build tests.

Regards,
Brian
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] mtd: nand: add FSL_SOC dependency to drivers using FSL_LBC

2016-01-07 Thread Brian Norris
I've managed to construct .config files (for ppc64) that come across
this Kconfig warning:

  warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM) selects 
FSL_LBC which has unmet direct dependencies (FSL_SOC)

Let's add the FSL_SOC dependency to the NAND drivers. AFAICT, they are
only supported on PPC32 FSL SoCs anyway.

Signed-off-by: Brian Norris 
Cc: Scott Wood 
---
 drivers/mtd/nand/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 289664089cf3..13bbceec6b5f 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -427,6 +427,7 @@ config MTD_NAND_ORION
 config MTD_NAND_FSL_ELBC
tristate "NAND support for Freescale eLBC controllers"
depends on PPC
+   depends on FSL_SOC
select FSL_LBC
help
  Various Freescale chips, including the 8313, include a NAND Flash
@@ -448,6 +449,7 @@ config MTD_NAND_FSL_IFC
 config MTD_NAND_FSL_UPM
tristate "Support for NAND on Freescale UPM"
depends on PPC_83xx || PPC_85xx
+   depends on FSL_SOC
select FSL_LBC
help
  Enables support for NAND Flash chips wired onto Freescale PowerPC
-- 
2.6.0.rc2.230.g3dd15c0

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v4] perf: bpf: Fix build breakage due to libbpf

2016-01-07 Thread Arnaldo Carvalho de Melo
Em Thu, Jan 07, 2016 at 05:39:57PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Jan 07, 2016 at 12:28:15PM +0530, Naveen N. Rao escreveu:
> > Can you please push at least the initial 3 patches of this for v4.4?  
> > Wang Nan has posted v6 here:
> > http://thread.gmane.org/gmane.linux.kernel/2110626
 
> So I tried it again today, from the v6, the latest patch with that
> subject line in my inbox, and I get this, after applying the first three
> patches:
 
> [acme@zoo linux]$ make -C tools clean > /dev/null
> [acme@zoo linux]$ make -C tools/perf build-test
> make: Entering directory '/home/git/linux/tools/perf'
> Testing Makefile
> tests/make:15: /scripts/Makefile.arch: No such file or directory
> make[2]: *** No rule to make target '/scripts/Makefile.arch'.  Stop.
> tests/make:5: recipe for target 'all' failed
> make[1]: *** [all] Error 2
> Makefile:81: recipe for target 'build-test' failed
> make: *** [build-test] Error 2
> make: Leaving directory '/home/git/linux/tools/perf'
> [acme@zoo linux]$

> Trying to figure this out...

So, this doesn't seem to have been tessted, this part, specifically:

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index 8ea3dffc5065..cd9c3ce1a5c2 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -12,7 +12,7 @@ endif
 else
 PERF := .
 
-include config/Makefile.arch
+include $(srctree)/scripts/Makefile.arch
 
 # FIXME looks like x86 is the only arch running tests ;-)
 # we need some IS_(32/64) flag to make this generic




Because $(srctree) is not set at that point, I copied the needed bits from
tools/perf/Makefile.perf and got the patch below, which makes:L

  make -C tools/perf build-test

Work for me again.

This should wrap up the day nicely, making me think of Jens Axboe recent
cool reaction to an untested patch:

http://lkml.kernel.org/r/5661c2bc.9030...@kernel.dk

:-)

Jiri, are you ok with the patch below, on top of the second patch in
Wang's series, that you acked?

- Arnaldo

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index cd9c3ce1a5c2..377654f862ec 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -1,3 +1,5 @@
+include ../scripts/Makefile.include
+
 ifndef MK
 ifeq ($(MAKECMDGOALS),)
 # no target specified, trigger the whole suite
@@ -12,7 +14,19 @@ endif
 else
 PERF := .
 
-include $(srctree)/scripts/Makefile.arch
+# As per kernel Makefile, avoid funny character set dependencies
+unexport LC_ALL
+LC_COLLATE=C
+LC_NUMERIC=C
+export LC_COLLATE LC_NUMERIC
+
+ifeq ($(srctree),)
+srctree := $(patsubst %/,%,$(dir $(shell pwd)))
+srctree := $(patsubst %/,%,$(dir $(srctree)))
+#$(info Determined 'srctree' to be $(srctree))
+endif
+
+include $(srctree)/tools/scripts/Makefile.arch
 
 # FIXME looks like x86 is the only arch running tests ;-)
 # we need some IS_(32/64) flag to make this generic
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev