Re: Linux 4.9: Reported regressions as of Sunday, 2016-11-20

2016-11-24 Thread Paul Bolle
On Sun, 2016-11-20 at 16:09 +0100, Thorsten Leemhuis wrote:
> Desc: "build regression: make.cross ARCH=mips fails with ""No rule to make 
> target 'alchemy/devboards/'. """
> Repo: 16-10-30 
> https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1262410.html 
> https://marc.info/?l=linux-kernel=147780880425626
> Stat: n/a 
> Note: nothing happened yet; BTW: Should build regressions be on this list at 
> all?

Fixed by commit 818f38c5b7c4 ("MIPS: Fix build of compressed image"). So this
is actually fixed since v4.9-rc4, but I only looked into this again today.

Thanks,


Paul Bolle


Re: Linux 4.9: Reported regressions as of Sunday, 2016-10-30

2016-11-01 Thread Paul Bolle
On Sun, 2016-10-30 at 14:20 +0100, Thorsten Leemhuis wrote:
> As always: Are you aware of any other regressions? Then please let me
> know (simply CC regressi...@leemhuis.info).

Do build regressions count?

Because I was trying to fix an obscure build issue in arch/mips, choose
a random configuration that should hit that issue, and promptly ran
into
https://lkml.kernel.org/r/<201610301405.k82kqqw0%25fengguang...@intel.com>
The same configuration does build under v4.8, I tested that of course.

(Side note: I had to manually insert "25" after "%" to get this to
work. Should Intel fix its mail setup, or should lkml.kernel.org learn
to escape "%"?)

Thanks,


Paul Bolle


Re: windfarm: decrement client count when unregistering

2015-08-06 Thread Paul Bolle
On wo, 2015-08-05 at 14:16 +1000, Michael Ellerman wrote:
 On Fri, 2015-31-07 at 12:08:58 UTC, Paul Bolle wrote:
  windfarm_corex_exit() contains:
  BUG_ON(wf_client_count != 0);
  
  I wonder why that, apparently. never triggered.
 
 Hmm interesting.
 
 A quick test here on an iMacG5 shows that we get into a state where we can't
 remove windfarm_core:
 
   $ lsmod
   Module  Size  Used by
   windfarm_smu_sensors7549  2
   windfarm_core  15391  1 windfarm_smu_sensors
 
 
 Which means we can't trigger windfarm_core_exit() and the BUG_ON().

Perhaps this is what, roughly, happens:

smu_sensors_init()
smu_ads_create()
/* Let's assume this happens ... */
ads-sens.ops = smu_cpuamp_ops
ads-sens.name = cpu-current
smu_ads_create()
/* ditto ... */
ads-sens.ops = smu_cpuvolt_ops
ads-sens.name = cpu-voltage

/* ... so this would then be true */
if (volt_sensor  curr_sensor)
/* and we do this */
smu_cpu_power_create(volt_sensor-sens, curr_sensor-sens)
wf_get_sensor(volt_sensor-sens)
try_module_get(volt_sensor-sens-ops-owner /* THIS_MODULE */)
wf_get_sensor(curr_sensor-sens)
try_module_get(curr_sensor-sens-ops-owner /* THIS_MODULE */)

The cleanup would have happened here:

smu_sensors_exit()
while (!list_empty(smu_ads)
wf_unregister_sensor(ads-sens)
wf_put_sensor()
/* would this also be done for sensors that never 
 * triggered a call to module_get()? */
module_put(ads-sens-ops-owner /* THIS MODULE */)

But, whatever it is that smu_sensors_exit() wants to do, it will never
be called since there are these two references to this module that
smu_sensors_init() created itself, preventing the unloading of this
module.

Does the above look plausible?

Note that this was only cobbled together by staring at the code for far
too long. If I had some powerpc machine at hand I could have actually
tested this with a few strategically placed printk()'s.

 I also get an oops when removing windfarm_lm75_sensor, so I suspect there are
 gremlins in the module ref counting for windfarm.

(This I haven't (yet) looked into.)

 I'll merge this as probably correct.

Hope this helps,


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

Re: windfarm: decrement client count when unregistering

2015-08-06 Thread Paul Bolle
On vr, 2015-08-07 at 00:21 +0200, Paul Bolle wrote:
 On wo, 2015-08-05 at 14:16 +1000, Michael Ellerman wrote:
  I also get an oops when removing windfarm_lm75_sensor, so I suspect there 
  are
  gremlins in the module ref counting for windfarm.
 
 (This I haven't (yet) looked into.)

And that might be, sort of, related. Because oops is probably triggered
by the, it seems, rather straightforward chain of events triggered by
unloading an I2C module. (So windfarm_lm75_sensor refcount must be
zero.) Which gets interesting at:

wf_lm75_remove()
wf_unregister_sensor(wf_lm75_sensor-sens)
wf_put_sensor(wf_lm75_sensor-sens)
module_put(wf_lm75_sensor-sens-ops-owner /* THIS_MODULE */)

And in windfarm_lm75_sensor we trigger this issue because in the
.probe() function there appears to be no corresponding call to
try_module_get() preventing unloading the module, as we saw in windfarm_
smu_sensors.

So module refcounting looks broken for both these modules in opposite
ways. Gremlins indeed.

Good luck!


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

[PATCH] windfarm: make wf_critical_overtemp() static

2015-07-31 Thread Paul Bolle
wf_critical_overtemp() is exported. But nothing uses that export.
That's unsurprising because there's no header that defines it. Stop
exporting that function and make it static.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Cross compiled only.

(And I really hope evolution didn't mangle this patch.)

 drivers/macintosh/windfarm_core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/macintosh/windfarm_core.c 
b/drivers/macintosh/windfarm_core.c
index cc7ece1712b5..681e5b4d4b6a 100644
--- a/drivers/macintosh/windfarm_core.c
+++ b/drivers/macintosh/windfarm_core.c
@@ -72,7 +72,7 @@ static inline void wf_notify(int event, void *param)
blocking_notifier_call_chain(wf_client_list, event, param);
 }
 
-int wf_critical_overtemp(void)
+static int wf_critical_overtemp(void)
 {
static char * critical_overtemp_path = /sbin/critical_overtemp;
char *argv[] = { critical_overtemp_path, NULL };
@@ -84,7 +84,6 @@ int wf_critical_overtemp(void)
return call_usermodehelper(critical_overtemp_path,
   argv, envp, UMH_WAIT_EXEC);
 }
-EXPORT_SYMBOL_GPL(wf_critical_overtemp);
 
 static int wf_thread_func(void *data)
 {
-- 
2.4.3
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] windfarm: remove three exported but unused functions

2015-07-31 Thread Paul Bolle
wf_find_control(), wf_find_sensor(), and wf_is_overtemp() are exported
but unused. Remove these three functions.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Cross compile tested only.

 drivers/macintosh/windfarm.h  |  4 
 drivers/macintosh/windfarm_core.c | 42 ---
 2 files changed, 46 deletions(-)

diff --git a/drivers/macintosh/windfarm.h b/drivers/macintosh/windfarm.h
index 028cdac2d33d..901c42f71b5a 100644
--- a/drivers/macintosh/windfarm.h
+++ b/drivers/macintosh/windfarm.h
@@ -53,11 +53,9 @@ struct wf_control {
  * the kref and wf_unregister_control will decrement it, thus the
  * object creating/disposing a given control shouldn't assume it
  * still exists after wf_unregister_control has been called.
- * wf_find_control will inc the refcount for you
  */
 extern int wf_register_control(struct wf_control *ct);
 extern void wf_unregister_control(struct wf_control *ct);
-extern struct wf_control * wf_find_control(const char *name);
 extern int wf_get_control(struct wf_control *ct);
 extern void wf_put_control(struct wf_control *ct);
 
@@ -117,7 +115,6 @@ struct wf_sensor {
 /* Same lifetime rules as controls */
 extern int wf_register_sensor(struct wf_sensor *sr);
 extern void wf_unregister_sensor(struct wf_sensor *sr);
-extern struct wf_sensor * wf_find_sensor(const char *name);
 extern int wf_get_sensor(struct wf_sensor *sr);
 extern void wf_put_sensor(struct wf_sensor *sr);
 
@@ -144,7 +141,6 @@ extern int wf_unregister_client(struct notifier_block *nb);
 /* Overtemp conditions. Those are refcounted */
 extern void wf_set_overtemp(void);
 extern void wf_clear_overtemp(void);
-extern int wf_is_overtemp(void);
 
 #define WF_EVENT_NEW_CONTROL   0 /* param is wf_control * */
 #define WF_EVENT_NEW_SENSOR1 /* param is wf_sensor * */
diff --git a/drivers/macintosh/windfarm_core.c 
b/drivers/macintosh/windfarm_core.c
index 681e5b4d4b6a..465d770ab0bb 100644
--- a/drivers/macintosh/windfarm_core.c
+++ b/drivers/macintosh/windfarm_core.c
@@ -254,24 +254,6 @@ void wf_unregister_control(struct wf_control *ct)
 }
 EXPORT_SYMBOL_GPL(wf_unregister_control);
 
-struct wf_control * wf_find_control(const char *name)
-{
-   struct wf_control *ct;
-
-   mutex_lock(wf_lock);
-   list_for_each_entry(ct, wf_controls, link) {
-   if (!strcmp(ct-name, name)) {
-   if (wf_get_control(ct))
-   ct = NULL;
-   mutex_unlock(wf_lock);
-   return ct;
-   }
-   }
-   mutex_unlock(wf_lock);
-   return NULL;
-}
-EXPORT_SYMBOL_GPL(wf_find_control);
-
 int wf_get_control(struct wf_control *ct)
 {
if (!try_module_get(ct-ops-owner))
@@ -367,24 +349,6 @@ void wf_unregister_sensor(struct wf_sensor *sr)
 }
 EXPORT_SYMBOL_GPL(wf_unregister_sensor);
 
-struct wf_sensor * wf_find_sensor(const char *name)
-{
-   struct wf_sensor *sr;
-
-   mutex_lock(wf_lock);
-   list_for_each_entry(sr, wf_sensors, link) {
-   if (!strcmp(sr-name, name)) {
-   if (wf_get_sensor(sr))
-   sr = NULL;
-   mutex_unlock(wf_lock);
-   return sr;
-   }
-   }
-   mutex_unlock(wf_lock);
-   return NULL;
-}
-EXPORT_SYMBOL_GPL(wf_find_sensor);
-
 int wf_get_sensor(struct wf_sensor *sr)
 {
if (!try_module_get(sr-ops-owner))
@@ -473,12 +437,6 @@ void wf_clear_overtemp(void)
 }
 EXPORT_SYMBOL_GPL(wf_clear_overtemp);
 
-int wf_is_overtemp(void)
-{
-   return (wf_overtemp != 0);
-}
-EXPORT_SYMBOL_GPL(wf_is_overtemp);
-
 static int __init windfarm_core_init(void)
 {
DBG(wf: core loaded\n);
-- 
2.4.3
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] windfarm: decrement client count when unregistering

2015-07-31 Thread Paul Bolle
wf_unregister_client() increments the client count when a client
unregisters. That is obviously incorrect. Decrement that client count
instead.

Fixes: 75722d3992f5 ([PATCH] ppc64: Thermal control for SMU based machines)

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
cross-compiled only. I don't have a PPC machine at hand, sorry. And this
does need some run-time testing, I'd day.

windfarm_corex_exit() contains:
BUG_ON(wf_client_count != 0);

I wonder why that, apparently. never triggered.

 drivers/macintosh/windfarm_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/macintosh/windfarm_core.c
b/drivers/macintosh/windfarm_core.c
index 3ee198b65843..cc7ece1712b5 100644
--- a/drivers/macintosh/windfarm_core.c
+++ b/drivers/macintosh/windfarm_core.c
@@ -435,7 +435,7 @@ int wf_unregister_client(struct notifier_block *nb)
 {
mutex_lock(wf_lock);
blocking_notifier_chain_unregister(wf_client_list, nb);
-   wf_client_count++;
+   wf_client_count--;
if (wf_client_count == 0)
wf_stop_thread();
mutex_unlock(wf_lock);
-- 
2.4.3
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH 04/11] soc/fsl: Introduce drivers for the DPAA QMan

2015-07-11 Thread Paul Bolle
On do, 2015-07-09 at 16:21 -0400, Roy Pledge wrote:
 --- a/drivers/soc/fsl/qbman/Kconfig
 +++ b/drivers/soc/fsl/qbman/Kconfig
 
 +config FSL_QMAN
 + tristate QMan device management
 + default n
 + help
 + FSL DPAA QMan driver

 +config FSL_QMAN_POLL_LIMIT
 + int
 + default 32

This Kconfig symbol will always be set to its default (32). So why
bother with a Kconfig symbol. Can't you use, say, a preprocessor define
directly?

 +config FSL_QMAN_CONFIG
 + bool QMan device management
 + default y
 + help
 +   If this linux image is running natively, you need this option. If this
 +   linux image is running as a guest OS under the hypervisor, only one
 +   guest OS (the control plane) needs this option.

 +config FSL_QMAN_CI_SCHED_CFG_SRCCIV
 + int
 + depends on FSL_QMAN_CONFIG
 + default 4
 +
 +config FSL_QMAN_CI_SCHED_CFG_SRQ_W
 + int
 + depends on FSL_QMAN_CONFIG
 + default 3
 +
 +config FSL_QMAN_CI_SCHED_CFG_RW_W
 + int
 + depends on FSL_QMAN_CONFIG
 + default 2
 +
 +config FSL_QMAN_CI_SCHED_CFG_BMAN_W
 + int
 + depends on FSL_QMAN_CONFIG
 + default 2

Ditto.

 +config FSL_QMAN_PIRQ_DQRR_ITHRESH
 + int
 + default 12
 +
 +config FSL_QMAN_PIRQ_MR_ITHRESH
 + int
 + default 4
 +
 +config FSL_QMAN_PIRQ_IPERIOD
 + int
 + default 100

Ditto.

 --- a/drivers/soc/fsl/qbman/Makefile
 +++ b/drivers/soc/fsl/qbman/Makefile

 +obj-$(CONFIG_FSL_QMAN)   += qman_api.o 
 qman_utils.o qman_driver.o

If FSL_QMAN is set to 'm' this should generate three modules. Is three
modules what you want? (Just to be safe: cross compiling ran into
problems, even for PPC64, probably because of silliness on my side. So I
couldn't check this. And I trust make's results more than I trust my
ability to parse Makefiles.)
 
Besides, there's no MODULE_LICENSE() in any of their source files. So,
whether you create one or three modules, loading a module will trigger a
warning and taint the kernel.

 +obj-$(CONFIG_FSL_QMAN_CONFIG)+= qman.o qman_portal.o

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/qman.c

 +MODULE_DEVICE_TABLE(of, of_fsl_qman_ids);

qman.o is built if FSL_QMAN_CONFIG is set. FSL_QMAN_CONFIG is a bool
symbol. The net effect is that MODULE_DEVICE_TABLE is preprocessed away.

 +static struct platform_driver of_fsl_qman_driver = {
 + .driver = {
 + .name = DRV_NAME,
 + .of_match_table = of_fsl_qman_ids,
 + },
 + .probe = of_fsl_qman_probe,
 + .remove = of_fsl_qman_remove,
 +};
 +
 +module_platform_driver(of_fsl_qman_driver);

As of v4.2-rc1 you can use builtin_platform_driver() for built-in only
code.

Thanks,


Paul Bolle

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

Re: [PATCH 02/11] soc/fsl: Introduce DPAA BMan device management driver

2015-07-10 Thread Paul Bolle
On do, 2015-07-09 at 16:21 -0400, Roy Pledge wrote:
 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/Kconfig
 @@ -0,0 +1,33 @@
 +menuconfig FSL_DPA
 + bool Freescale DPAA support
 + depends on FSL_SOC || COMPILE_TEST

Are you sure about COMPILE_TEST?

 + default n
 + help
 + FSL Data-Path Acceleration Architecture drivers
 +
 + These are not the actual Ethernet driver(s)
 +
 +if FSL_DPA

[...]

 +config FSL_BMAN
 + tristate BMan device management
 + default n
 + help
 + FSL DPAA BMan driver
 +
 +endif # FSL_DPA

Because with FSL_BMAN set to 'm' testing things with
make -C ../../../.. M=$PWD bman.ko

will not actually compile on x86_64:

make: Entering directory '[...]'
  CC [M]  [...]/drivers/soc/fsl/qbman/bman.o
In file included from [...]/drivers/soc/fsl/qbman/bman_priv.h:33:0,
 from [...]/drivers/soc/fsl/qbman/bman.c:31:
[...]/drivers/soc/fsl/qbman/dpaa_sys.h: In function ‘mfatb’:
[...]/drivers/soc/fsl/qbman/dpaa_sys.h:134:8: error: implicit declaration of 
function ‘mfspr’ [-Werror=implicit-function-declaration]
   hi = mfspr(SPRN_ATBU);
^
[...]/drivers/soc/fsl/qbman/dpaa_sys.h:134:14: error: ‘SPRN_ATBU’ undeclared 
(first use in this function)
   hi = mfspr(SPRN_ATBU);
  ^
[...]/drivers/soc/fsl/qbman/dpaa_sys.h:134:14: note: each undeclared identifier 
is reported only once for each function it appears in
[...]/drivers/soc/fsl/qbman/dpaa_sys.h:135:14: error: ‘SPRN_ATBL’ undeclared 
(first use in this function)
   lo = mfspr(SPRN_ATBL);
  ^
[...]/drivers/soc/fsl/qbman/bman.c: In function ‘__bm_in’:
[...]/drivers/soc/fsl/qbman/bman.c:168:9: error: implicit declaration of 
function ‘in_be32’ [-Werror=implicit-function-declaration]
  return in_be32((void *)bm + offset);
 ^
[...]/drivers/soc/fsl/qbman/bman.c: In function ‘__bm_out’:
[...]/drivers/soc/fsl/qbman/bman.c:172:2: error: implicit declaration of 
function ‘out_be32’ [-Werror=implicit-function-declaration]
  out_be32((void *)bm + offset, val);
  ^
[...]/drivers/soc/fsl/qbman/bman.c: In function ‘of_fsl_bman_probe’:
[...]/drivers/soc/fsl/qbman/bman.c:463:17: error: ‘NO_IRQ’ undeclared (first 
use in this function)
  if (err_irq == NO_IRQ) {
 ^
cc1: some warnings being treated as errors
scripts/Makefile.build:264: recipe for target 
'[...]/drivers/soc/fsl/qbman/bman.o' failed
make[1]: *** [[...]/drivers/soc/fsl/qbman/bman.o] Error 1
Makefile:1568: recipe for target 'bman.ko' failed
make: *** [bman.ko] Error 2
make: Leaving directory '[...]'

Thanks,


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

Re: [PATCH 02/11] soc/fsl: Introduce DPAA BMan device management driver

2015-07-10 Thread Paul Bolle
On do, 2015-07-09 at 16:21 -0400, Roy Pledge wrote:
 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/Kconfig

 +menuconfig FSL_DPA
 + bool Freescale DPAA support
 + depends on FSL_SOC || COMPILE_TEST

(I already commented on COMPILE_TEST in a separate mail.)

 + default n
 + help
 + FSL Data-Path Acceleration Architecture drivers
 +
 + These are not the actual Ethernet driver(s)
 +
 +if FSL_DPA
 +
 +config FSL_DPA_CHECKING
 + bool additional driver checking
 + default n
 + help
 + Compiles in additional checks to sanity-check the drivers and
 + any use of it by other code. Not recommended for performance

Only recommended for people that are certain none of the 100+ asserts
will ever trigger. See below.

 +config FSL_DPA_CAN_WAIT
 + bool
 + default y
 +
 +config FSL_DPA_CAN_WAIT_SYNC
 + bool
 + default y

Both these aren't actually used in this patch. The first patch that uses
them is 3/11.

Besides, the way these two symbols are implemented makes them function
as aliases for FSL_DPA. So why are they needed?

 +config FSL_BMAN
 + tristate BMan device management
 + default n
 + help
 + FSL DPAA BMan driver

(Will readers know what BMan means?)

 +endif # FSL_DPA

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/Makefile

 +obj-$(CONFIG_FSL_BMAN)   += bman.o

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/bman.c

 +int bm_pool_set(u32 bpid, const u32 *thresholds)
 +{
 + if (!bm)
 + return -ENODEV;
 + bm_set_pool(bm, bpid, thresholds[0], thresholds[1],
 + thresholds[2], thresholds[3]);
 + return 0;
 +}
 +EXPORT_SYMBOL(bm_pool_set);

Nit: the first (caller of this function and) user of this export is
added in 3/11.

I couldn't find a MODULE_LICENSE() in bman.c. So building this as a
module and loading that module will generate a warning and taint the
kernel.

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/dpaa_sys.h

 +#ifdef CONFIG_FSL_DPA_CHECKING
 +#define DPA_ASSERT(x) \
 + do { \
 + if (!(x)) { \
 + pr_crit(ASSERT: (%s:%d) %s\n, __FILE__, __LINE__, \
 + __stringify_1(x)); \
 + dump_stack(); \
 + panic(assertion failure); \

Not my call, but why panic() here?

 + } \
 + } while (0)
 +#else
 +#define DPA_ASSERT(x)
 +#endif

Thanks,


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

Re: [PATCH 03/11] soc/fsl: Introduce the DPAA BMan portal driver

2015-07-10 Thread Paul Bolle
On do, 2015-07-09 at 16:21 -0400, Roy Pledge wrote:
 --- a/drivers/soc/fsl/qbman/Kconfig
 +++ b/drivers/soc/fsl/qbman/Kconfig

 +config FSL_DPA_PIRQ_FAST
 + bool
 + default y

First used in 04/11.

 +config FSL_DPA_PIRQ_SLOW
 + bool
 + default y
 +
 +config FSL_DPA_PORTAL_SHARE
 + bool
 + default y

As in 02/11: these three symbols function as aliases for FSL_DPA. Why
are they needed? 

  config FSL_BMAN
   tristate BMan device management
   default n
   help
   FSL DPAA BMan driver
  
 +config FSL_BMAN_PORTAL
 + tristate BMan portal(s)
 + default n
 + help
 + FSL BMan portal driver

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/bman_api.c

 +struct bman_portal {
 + [...]
 +#ifdef CONFIG_FSL_DPA_CAN_WAIT_SYNC

This check will always evaluate to true, right? (I'll only report this
once.)

 + struct bman_pool *rcri_owned; /* only 1 release WAIT_SYNC at 
 a time */
 +#endif
 +#ifdef CONFIG_FSL_DPA_PORTAL_SHARE

Ditto.

 + raw_spinlock_t sharing_lock; /* only used if is_shared */
 + int is_shared;
 + struct bman_portal *sharing_redirect;
 +#endif
 + [...]
 +};

 +const struct bman_portal_config *bman_get_portal_config(void)
 +{
 + [...]
 +}

I couldn't find callers of this function.

 +EXPORT_SYMBOL(bman_get_portal_config);

Nor users of this export, obviously.

 +
 +u32 bman_irqsource_get(void)
 +{
 + [...]
 +}

Ditto.

 +EXPORT_SYMBOL(bman_irqsource_get);

Ditto.

 +int bman_p_irqsource_add(struct bman_portal *p, __maybe_unused u32 bits)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(bman_p_irqsource_add);

There seem to be no users of this export.

 +int bman_irqsource_add(__maybe_unused u32 bits)
 +{
 + [...]
 +}

Unused.

 +EXPORT_SYMBOL(bman_irqsource_add);

Ditto.

 +int bman_irqsource_remove(u32 bits)
 +{
 + [...]
 +}

Ditto. 

 +EXPORT_SYMBOL(bman_irqsource_remove);

Ditto.

 +u32 bman_poll_slow(void)
 +{
 + [...]
 +}

Ditto.

 +EXPORT_SYMBOL(bman_poll_slow);

Ditto.

 +void bman_poll(void)
 +{
 + [...]
 +}

Ditto.

 +EXPORT_SYMBOL(bman_poll);

Ditto.

 +static inline struct bm_rcr_entry *try_rel_start(struct bman_portal **p,
 +#ifdef CONFIG_FSL_DPA_CAN_WAIT

Always true, right?

 + __maybe_unused struct bman_pool *pool,
 +#endif
 + __maybe_unused unsigned long *irqflags,
 + __maybe_unused u32 flags)

And this is a, well, novel way to declare a function.

 +{
 + [...]
 +}

 +int bman_flush_stockpile(struct bman_pool *pool, u32 flags)
 +{
 + [...]
 +}

Unused function.

 +EXPORT_SYMBOL(bman_flush_stockpile);

So unused export too.

 +#ifdef CONFIG_FSL_BMAN
 +u32 bman_query_free_buffers(struct bman_pool *pool)
 +{
 + return bm_pool_free_buffers(pool-params.bpid);
 +}
 +EXPORT_SYMBOL(bman_query_free_buffers);
 +
 +int bman_update_pool_thresholds(struct bman_pool *pool, const u32 
 *thresholds)
 +{
 + u32 bpid;
 +
 + bpid = bman_get_params(pool)-bpid;
 +
 + return bm_pool_set(bpid, thresholds);
 +}
 +EXPORT_SYMBOL(bman_update_pool_thresholds);

More of the same.

 +#endif

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/bman_portal.c
 
 +module_driver(bman_portal_driver,
 +bman_portal_driver_register, platform_driver_unregister);

No MODULE_LICENSE() here, nor in the other files that make up this
module. So loading this module will trigger a warning and taint the
kernel.

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/bman_utils.c

 +EXPORT_SYMBOL(bman_alloc_bpid_range);

Unused export.

 +EXPORT_SYMBOL(bman_release_bpid_range);

Ditto.

 +EXPORT_SYMBOL(bman_seed_bpid_range);

Ditto.

 +int bman_reserve_bpid_range(u32 bpid, u32 count)
 +{
 + return dpaa_resource_reserve(bpalloc, bpid, count);
 +}
 +EXPORT_SYMBOL(bman_reserve_bpid_range);

Because bman_reserve_bpid() is unused, see below, this function and this
export are unused too.

 --- /dev/null
 +++ b/drivers/soc/fsl/qbman/dpaa_resource.c
 
 +#if defined(CONFIG_FSL_BMAN_PORTAL) || defined(CONFIG_FSL_BMAN_PORTAL_MODULE)

#if IS_ENABLED(CONFIG_FSL_BMAN_PORTAL)

 +#ifdef DPAA_RESOURCE_DEBUG

Never defined. So DUMP() is dead code.

 --- a/drivers/soc/fsl/qbman/dpaa_sys.h
 +++ b/drivers/soc/fsl/qbman/dpaa_sys.h
 
 +#define CONFIG_TRY_BETTER_MEMCPY

Please replace the CONFIG_ prefix with something else.

 +#ifdef CONFIG_TRY_BETTER_MEMCPY

This will always be true, right?

 [...]
 +#else
 +#define copy_words memcpy
 +#define copy_shorts memcpy
 +#define copy_bytes memcpy
 +#endif

 --- /dev/null
 +++ b/include/soc/fsl/bman.h

 +static inline int bman_reserve_bpid(u32 bpid)
 +{
 + return bman_reserve_bpid_range(bpid, 1);
 +}

Unused.

Thanks,


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

Re: [PATCH 03/11] soc/fsl: Introduce the DPAA BMan portal driver

2015-07-10 Thread Paul Bolle
Hi Roy,

On vr, 2015-07-10 at 15:19 +, Roy Pledge wrote:
 Thanks you for your valuable feedback so far.

You're welcome. Please note that I just scan for, well, common build
issues. Ie, stuff that requires no domain specific knowledge.

 Let me try to address a general issue you mention below: unused 
 exported APIs.

Good timing. I was pondering how to handle 04/11, a big patch that
exports 79 (!) symbols. Many of those appear to have no users.

 The QMan and BMan drivers provide a base layer for other blocks built 
 on top of them, for instance an Ethernet Driver, an Encrypt/Decrypt 
 Engine,  a pattern matcher, a compress/decompress engine, etc...
 Some of these drivers will be presented for review in the near future, 
 but in order to try and layer the review/up streaming process we're 
 presenting each layer as independently as possible.
 If you really were to start dissecting which APIs are called you would 
 come to a very small set of pieces that merely initialize the hardware 
 but don't provide any opportunity for other users to invoke that HW. 
 
 I hope that this helps you understand our goals in trying to upstream 
 these drivers.

At the end of the day, what matters is what the people that need to sign
off on these drivers (ppc? netdev?) are comfortable with. I know that
some maintainers won't even bother looking at code that has no callers.

In the mean time I'll skip the exports for the remainder of this series.

Thanks,


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

Re: [v2,9/9] fsl/fman: Add FMan MAC driver

2015-06-26 Thread Paul Bolle
On Thu, 2015-06-25 at 19:59 -0500, Scott Wood wrote:
 On Fri, 2015-06-26 at 01:06 +0200, Paul Bolle wrote:
  (Evolution 3.16 is basically unbearable for replying to patches. 
  Anyone
  else running into this?) 

You replied with Evolution v3.16, didn't you? Look how it wrapped that
line. Now imagine how a patch of a few thousands lines might look like
when replying. (Of course a patch of a few thousands lines is part of
the issue here. As in: no one can really handle that.) 

And if you set certain lines to preformatted to undo the wrapping it
inserts  in the tabs!

There's more. I'll stop now, as this is drifting too far off topic.

 If you mean the crazy lag when selecting moderate-to-large amounts of 
 
 text (for snipping), yes.

One of my replies I had to do over a few times because evolution or I
lost track of what was selected. Ie, I thought I had selected hundreds
of lines but something much smaller was deleted. Something like that.
As confusing as it gets, so who knows what actually happened?

Yes, I know, I should ask for a refund.

Thanks,


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

Re: [v2,9/9] fsl/fman: Add FMan MAC driver

2015-06-25 Thread Paul Bolle
(Evolution 3.16 is basically unbearable for replying to patches. Anyone
else running into this?) 

On Wed, 2015-06-24 at 22:37 +0300, igal.liber...@freescale.com wrote:
 
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/fman/mac/mac-api.c
 +int set_mac_active_pause(struct mac_device *mac_dev, bool rx, bool tx)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(set_mac_active_pause);

Which module is using this function?

 +void get_pause_cfg(struct mac_device *mac_dev, bool *rx_pause, bool 
 *tx_pause)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(get_pause_cfg);

This exports a function that is only used in this file. Why? 

Thanks,


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

Re: [v2,8/9] fsl/fman: Add FMan Port Support

2015-06-25 Thread Paul Bolle
On Wed, 2015-06-24 at 22:37 +0300, igal.liber...@freescale.com wrote:
 --- a/drivers/net/ethernet/freescale/fman/fm_drv.c
 +++ b/drivers/net/ethernet/freescale/fman/fm_drv.c

 +struct fm_port_t *fm_port_drv_handle(const struct fm_port_drv_t *port)
 +{
 + return port-fm_port;
 +}
 +EXPORT_SYMBOL(fm_port_drv_handle);

I couldn't find any users of this function.

 +void fm_port_get_buff_layout_ext_params(struct fm_port_drv_t *port,
 +struct fm_port_params *params)

(Evolution 3.16 is a piece of ...).

 +{
 + params-data_align = 0;
 +}
 +EXPORT_SYMBOL(fm_port_get_buff_layout_ext_params);

Ditto.

 +int fm_get_tx_port_channel(struct fm_port_drv_t *port)
 +{
 + return port-tx_ch;
 +}
 +EXPORT_SYMBOL(fm_get_tx_port_channel);

Ditto.

 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/fman/fm_port_drv.c

 +void fm_set_rx_port_params(struct fm_port_drv_t *port,
 +struct fm_port_params *params)
 +{
+   [...]
 +}
 +EXPORT_SYMBOL(fm_set_rx_port_params);

Ditto.

(If you hear about my arrest for randomly attacking innocent people:
blame evolution 3.16!)

 +void fm_set_tx_port_params(struct fm_port_drv_t *port,
 +struct fm_port_params *params)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(fm_set_tx_port_params);

Ditto.

 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/fman/port/fm_port.c

 +u64 *fm_port_get_buffer_time_stamp(const struct fm_port_t *p_fm_port,
 +char *p_data)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(fm_port_get_buffer_time_stamp);

Ditto.

 +int fm_port_disable(struct fm_port_t *p_fm_port)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(fm_port_disable);

This exports a function that I think is only used inside this file.

 +int fm_port_enable(struct fm_port_t *p_fm_port)
 +{
 + [...]
 +}
 +EXPORT_SYMBOL(fm_port_enable);

And here I could again find no users of this function.

Thanks,


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

Re: [v2,5/9] fsl/fman: Add Frame Manager support

2015-06-25 Thread Paul Bolle
On Fri, 2015-06-26 at 01:53 +0200, Paul Bolle wrote:
 So I decided to pick one subject: exports. I think I had something to
 comment on all eight of them.

s/eight/twelve/


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

Re: [v2,5/9] fsl/fman: Add Frame Manager support

2015-06-25 Thread Paul Bolle
On Wed, 2015-06-24 at 22:35 +0300, igal.liber...@freescale.com wrote:
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/fman/fm_drv.c

 +u16 fm_get_max_frm(void)
 +{
 + return fsl_fm_max_frm;
 +}
 +EXPORT_SYMBOL(fm_get_max_frm);

Which module is using this export? (And what does this function
actually do?)

 +int fm_get_rx_extra_headroom(void)
 +{
 + return ALIGN(fsl_fm_rx_extra_headroom, 16);
 +}
 +EXPORT_SYMBOL(fm_get_rx_extra_headroom);

This exports an unused function.

I don't know how to, well, review a series that adds almost 20K lines.
So I decided to pick one subject: exports. I think I had something to
comment on all eight of them.

I'm not sure if I'll try another scan with a different subject.

Thanks,


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

Re: [PATCH v2] powerpc/rcpm: add RCPM driver

2015-06-12 Thread Paul Bolle
Just a nit.

On Thu, 2015-06-11 at 14:32 +0800, yuantian.t...@freescale.com wrote:
 --- /dev/null
 +++ b/arch/powerpc/sysdev/fsl_rcpm.c

 +int fsl_rcpm_init(void)

This is used only through early_initcall(). I took the cargo cult
approach of looking at the other uses of early_initcall() in
arch/powerpc/. That approach tells me this function could be static and
marked as __init. Would that work here too?

 +{
 + [...]
 +}
 +
 +/* need to call this before SMP init */
 +early_initcall(fsl_rcpm_init);

Thanks,

Paul Bolle

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

Re: [PATCH 08/12] fsl/fman: Add Frame Manager support

2015-06-11 Thread Paul Bolle
So I couldn't help having yet another look at the code, just to drive
home my point.

On Thu, 2015-06-11 at 10:55 +0200, Paul Bolle wrote:
  +void *fm_drv_init(void)
 
 static.
 
  +{
  +   memset(fm_drvs, 0, sizeof(fm_drvs));

fm_drvs is an external variable. It is guaranteed to be zero, isn't it?

  +   mutex_init(fm_drv_mutex);
  +
  +   /* Register to the DTB for basic FM API */
  +   platform_driver_register(fm_driver);
  +
  +   return fm_drvs;

You're returning a pointer to external variable. How's that useful?

And note this is the last time we'll ever see fm_drvs. So I think that
all this variable does for the code is getting initialized to zero,
twice.

  +}
  +
  +int fm_drv_free(void *p_fm_drv)
 
 static.
 
  +{
  +   platform_driver_unregister(fm_driver);
  +   mutex_destroy(fm_drv_mutex);
  +
  +   return 0;

This function has one caller, which doesn't check the return value. So
this should be a function returning void. Of course, a wrapper of two
lines called only once means you should actually not put this into a
separate function.

  +}

  +static void *p_fm_drv;
 
  +static int __init __cold fm_load(void)
  +{
  +   p_fm_drv = fm_drv_init();
  +   if (!p_fm_drv) {

fm_drv_init() returns a pointer to an external variable. So how can this
happen?

  +   pr_err(Failed to init FM wrapper!\n);
  +   return -ENODEV;
  +   }
  +
  +   pr_info(Freescale FM module\n);
  +   return 0;
  +}

This is all rather basic. It must be, otherwise I wouldn't spot it.

So I keep spotting these basic oddities, with every cup of coffee I
treat myself to while reading through this, wherever I look. By now I'm
sure there's no need for the netdev people to look at this, not yet. 


Paul Bolle

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

Re: [PATCH v2] powerpc/83xx: add support for mpc8306

2015-04-03 Thread Paul Bolle
On Fri, 2015-04-03 at 12:44 +0200, Filip Brozovic wrote:
 --- a/arch/powerpc/platforms/83xx/Kconfig
 +++ b/arch/powerpc/platforms/83xx/Kconfig
 
 +# used for gpio
 +config PPC_MPC830x
 + bool
 + select ARCH_WANT_OPTIONAL_GPIOLIB
 +
 +config PPC_MPC8306
 + bool

To me these two new Kconfig symbols look pointless:
- they have no prompt, so one cannot set them manually;
- no other Kconfig symbol selects them;
- they do not default to 'y'.

I'm not aware of a way to set these symbols to 'y' outside of those
three. Is there perhaps a way for kconfig to set these symbols to 'y'
that I have missed?

Or do you expect to do one of these three things in a separate patch?

 --- a/arch/powerpc/platforms/83xx/usb.c
 +++ b/arch/powerpc/platforms/83xx/usb.c
 @@ -99,7 +99,7 @@ int mpc834x_usb_cfg(void)
  }
  #endif /* CONFIG_PPC_MPC834x */
  
 -#ifdef CONFIG_PPC_MPC831x
 +#if defined(CONFIG_PPC_MPC8306) || defined(CONFIG_PPC_MPC831x)
  int mpc831x_usb_cfg(void)
  {
   u32 temp;

So I think this hunk is pointless.

 @@ -210,7 +218,7 @@ out:
   of_node_put(np);
   return ret;
  }
 -#endif /* CONFIG_PPC_MPC831x */
 +#endif /* CONFIG_PPC_MPC8306 || CONFIG_PPC_MPC831x */
  
  #ifdef CONFIG_PPC_MPC837x
  int mpc837x_usb_cfg(void)

Ditto.

 diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
 index c1e2ca3..4c60e7f 100644
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
 @@ -217,11 +217,11 @@ config GPIO_MPC5200
  
  config GPIO_MPC8XXX
   bool MPC512x/MPC8xxx GPIO support
 - depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
 -FSL_SOC_BOOKE || PPC_86xx
 + depends on PPC_MPC512x || PPC_MPC830x || PPC_MPC831x || PPC_MPC834x || \
 +PPC_MPC837x || FSL_SOC_BOOKE || PPC_86xx
   help
 Say Y here if you're going to use hardware that connects to the
 -   MPC512x/831x/834x/837x/8572/8610 GPIOs.
 +   MPC512x/830x/831x/834x/837x/8572/8610 GPIOs.
  
  config GPIO_MSM_V1
   tristate Qualcomm MSM GPIO v1

Ditto (except for the help change, which still might make sense).

Thanks,


Paul Bolle

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

Re: [PATCH v2] powerpc/83xx: add support for mpc8306

2015-04-03 Thread Paul Bolle
On Fri, 2015-04-03 at 14:45 +0200, Filip Brozović wrote:
 The idea was that boards in the Kconfig file would select these symbols 
 in order to enable support for the 8306. I mainly wanted to get this 
 patch into mainline in order to make kernel maintenance for a couple of 
 custom in-house developed boards easier.

The trouble with this patch is that, without some follow up patch, it
adds Kconfig symbols and preprocessor checks that are pointless for
mainline. I think we should not do that. (I'm also not sure how having
those bits in mainline substantially benefits out of tree development.)

But if you would put this in a series that also adds the code using
these bits, than I'd have no reason to object (and neither would, I
guess, the bots checking the tree for issues like that).

Thanks,


Paul Bolle

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

Re: [PATCH RFC 02/10] dpaa_eth: add support for DPAA Ethernet

2015-04-02 Thread Paul Bolle
Just a few nits.

This series is posted as an RFC, so this might not be what you're
expecting right now. But as these messages got tangled up in my mail
filter anyhow, I thought I might as well bother you with these nits now.

On Wed, 2015-04-01 at 19:19 +0300, Madalin Bucur wrote:
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/dpaa/Kconfig
 @@ -0,0 +1,49 @@
 +menuconfig FSL_DPAA_ETH
 + tristate DPAA Ethernet
 + depends on FSL_SOC  FSL_BMAN  FSL_QMAN  FSL_FMAN
 + select PHYLIB
 + select FSL_FMAN_MAC
 + ---help---
 +   Data Path Acceleration Architecture Ethernet driver,
 +   supporting the Freescale QorIQ chips.
 +   Depends on Freescale Buffer Manager and Queue Manager
 +   driver and Frame Manager Driver.
 +
 +if FSL_DPAA_ETH
 +
 +config FSL_DPAA_CS_THRESHOLD_1G
 + hex Egress congestion threshold on 1G ports
 + depends on FSL_DPAA_ETH

This entry is inside the if FSL_DPAA_ETH block. So this line should be
superfluous.

 + range 0x1000 0x1000
 + default 0x0600
 + ---help---
 +   The size in bytes of the egress Congestion State notification 
 threshold on 1G ports.
 +   The 1G dTSECs can quite easily be flooded by cores doing Tx in a 
 tight loop
 +   (e.g. by sending UDP datagrams at while(1) speed),
 +   and the larger the frame size, the more acute the problem.
 +   So we have to find a balance between these factors:
 +- avoiding the device staying congested for a prolonged time 
 (risking
 + the netdev watchdog to fire - see also the tx_timeout 
 module param);
 +   - affecting performance of protocols such as TCP, which 
 otherwise
 +  behave well under the congestion notification mechanism;
 +- preventing the Tx cores from tightly-looping (as if the 
 congestion
 +  threshold was too low to be effective);
 +- running out of memory if the CS threshold is set too high.
 +
 +config FSL_DPAA_CS_THRESHOLD_10G
 + hex Egress congestion threshold on 10G ports
 + depends on FSL_DPAA_ETH

Ditto.

 + range 0x1000 0x2000
 + default 0x1000
 + ---help ---
 +   The size in bytes of the egress Congestion State notification 
 threshold on 10G ports.
 +
 +config FSL_DPAA_INGRESS_CS_THRESHOLD
 + hex Ingress congestion threshold on FMan ports
 + depends on FSL_DPAA_ETH

Ditto.

 + default 0x1000
 + ---help---
 +   The size in bytes of the ingress tail-drop threshold on FMan ports.
 +   Traffic piling up above this value will be rejected by QMan and 
 discarded by FMan.
 +
 +endif # FSL_DPAA_ETH

A similar comment can be made for the entries added in 03/10, 05/10, and
09/10.

Thanks,


Paul Bolle

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

Re: [PATCH 0/4] defconfigs: cleanup obsolete MTD configs

2015-01-24 Thread Paul Bolle
On Sat, 2015-01-24 at 18:33 +0200, Semen Protsenko wrote:
 This patch series removes next obsolete MTD configs from all defconfig files:
   - CONFIG_MTD_CHAR
   - CONFIG_MTD_CONCAT
   - CONFIG_MTD_DEBUG
   - CONFIG_MTD_DEBUG_VERBOSE
   - CONFIG_MTD_PARTITIONS
 
 All those configs were removed from drivers/mtd/Kconfig earlier, but their 
 usage
 in defconfig files was remain unnoticed. There are at least two obvious 
 reasons
 to get rid of those configs:
   1. Their usage may cause to build warnings

That's news for me. I thought they are silently ignored. Do you have an
example of such a warning?

   2. Their usage may confuse someone who is grepping defconfig files to get
  the clue what MTD configuration may look like.
 
 This series is harmless for all those defconfigs and will not break anything.
 
 
 Semen Protsenko (4):
   defconfigs: remove CONFIG_MTD_CONCAT
   defconfigs: remove CONFIG_MTD_PARTITIONS
   defconfigs: remove CONFIG_MTD_CHAR
   defconfigs: remove CONFIG_MTD_DEBUG*
 
  arch/arm/configs/acs5k_defconfig   |3 ---
 [...]
  arch/unicore32/configs/unicore32_defconfig |2 --
  226 files changed, 364 deletions(-)

Seems like the kind of change that can only be reviewed by a script.

Is there any policy on keeping defconfig files up to date? Because, only
slightly exaggerated, all the defconfig files are outdated, in minor or
major ways, at any given moment.

I seem to remember Greg stating that defconfig files are on their way
out. Did I remember that correctly?  


Paul Bolle

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

Re: powerpc/8xx: Remove Kconfig symbol FADS

2014-11-07 Thread Paul Bolle
On Thu, 2014-11-06 at 21:50 -0600, Scott Wood wrote:
 On Wed, Sep 24, 2014 at 10:06:19AM +0200, Paul Bolle wrote: 
  Another cleanup might be to remove MPC8XXFADS (or FADS) from the 8xx
  Machine Type choice. Is there any reason left to pick FADS as a
  machine type?
 
 Nothing references MPC8XXFADS, so yes, it can be removed.

I'll try to look into this. For the (verbose) reasons below I'll do that
in a separate patch, if I ever get that far. What follows is mostly a
note to self.

MPC8XXFADS is indeed not referenced anywhere. But it's one of the
entries in the 8xx Machine Type choice. And it's common for choice
blocks the have a none of the above entry. Ie, an entry that allows to
configure nothing. There's a chance MPC8XXFADS is currently used for
that role. (This is easier to determine for people that - unlike me -
know what all the symbols in this choice mean. To me they 're basically
random strings.)

Actually, there's an obscure optional Kconfig keyword that appears to
be added to take care of this use case. It's currently used exactly
twice in the tree, in smaller architectures: once in arch/avr32/ and
once in arch/sh/. This implies this optional keyword is used very
little. I'll have to look carefully to see whether it works as
advertised.


Paul Bolle

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

Re: [PATCH 1/5] kexec: Fix make headers_check

2014-10-06 Thread Paul Bolle
Hi Geoff,

On Sat, 2014-08-30 at 14:47 +0200, Paul Bolle wrote:
 [Added Peter Anvin.]
 
 On Mon, 2014-08-25 at 13:22 -0400, Vivek Goyal wrote:
  On Fri, Aug 22, 2014 at 06:39:47PM +, Geoff Levand wrote:
   Remove the unneded declaration for a kexec_load() routine.
   
   Fixes errors like these when running 'make headers_check':
   
   include/uapi/linux/kexec.h: userspace cannot reference function or 
   variable defined in the kernel
   
   Signed-off-by: Geoff Levand ge...@infradead.org
  
  I think Paul Bolle tried to remove this in the past and maximilian
  had objections.
  
  http://lists.infradead.org/pipermail/kexec/2014-January/010902.html
 
 I've wanted to resend my patch, perhaps with a new commit explanation,
 for quite some time now. I never got around doing that.
 
  I can't see that how exporting kernel prototype helps here.
 
 It doesn't, for the reasons I've set out in
 http://lists.infradead.org/pipermail/kexec/2014-January/010900.html . In
 short: why bother using this prototype if one still needs to define the
 matching function oneself?
 
  kexec-tools
  seems to be using syscall(__NR_kexec_load) directly for non-xen case. So
  I would be fine with removing this definition. Just trying to make sure
  that it does not break any other library or users of this declaration.
 
 Obviously, this can only break compiling those libraries, or other
 users. It can't break already compiled binaries. Besides I don't think
 those libraries, etc actually exist. Maximilian mentioned klibc in
 January, but I wasn't able to find a version of klibc that cared about
 this prototype. No one pointed me at a version that does (or any other
 library, etc., for that matter).
 
 (If we do decide to keep this prototype, we should special case this
 prototype in headers_check.pl just to silence the build.)
 
 The above can be summarized like this:
 Acked-by: Paul Bolle pebo...@tiscali.nl

It seems not much happened after I added my Acked-by. I assume you still
want to get this merged. Is that correct?


Paul Bolle

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

Re: [PATCH 1/5] kexec: Fix make headers_check

2014-10-06 Thread Paul Bolle
On Mon, 2014-10-06 at 10:34 -0700, Geoff Levand wrote:
 On Mon, 2014-10-06 at 16:12 +0200, Paul Bolle wrote:
  It seems not much happened after I added my Acked-by. I assume you still
  want to get this merged. Is that correct?
 
 Yes, I think we concluded there are no real users of this kexec_load()
 ptototype, and so it can be removed.

What would be the quickest way to get this finally resolved? Who's in
charge of this stuff? Would resending your patch, with my Ack added,
speed up things? The vain side of my personality does think it would
help.


Paul Bolle

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

[PATCH] powerpc/8xx: Remove Kconfig symbol FADS

2014-09-24 Thread Paul Bolle
Commit 39eb56da2b53 (pcmcia: Remove m8xx_pcmcia driver) removed the
only driver that used CONFIG_FADS. Setting the Kconfig symbol FADS is
pointless since that commit. Remove it.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Done on top of next-20140923. Tested with git grep only.

Another cleanup might be to remove MPC8XXFADS (or FADS) from the 8xx
Machine Type choice. Is there any reason left to pick FADS as a
machine type?

 arch/powerpc/platforms/8xx/Kconfig | 4 
 1 file changed, 4 deletions(-)

diff --git a/arch/powerpc/platforms/8xx/Kconfig 
b/arch/powerpc/platforms/8xx/Kconfig
index 247fdea0c8be..831f2e718b06 100644
--- a/arch/powerpc/platforms/8xx/Kconfig
+++ b/arch/powerpc/platforms/8xx/Kconfig
@@ -1,6 +1,3 @@
-config FADS
-   bool
-
 config CPM1
bool
select CPM
@@ -13,7 +10,6 @@ choice
 
 config MPC8XXFADS
bool FADS
-   select FADS
 
 config MPC86XADS
bool MPC86XADS
-- 
1.9.3

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

Re: [PATCH] IBM Akebono: Remove obsolete config select

2014-09-04 Thread Paul Bolle
On Fri, 2014-06-20 at 10:10 +1000, Alistair Popple wrote:
 Hi Ben,
 
 It looks like we may have missed this trivial fix? Can you please apply it to 
 your tree?
 
 Regards,
 
 Alistair
 
 On Fri, 13 Jun 2014 13:56:32 Paul Bolle wrote:
  On Fri, 2014-05-02 at 18:06 +1000, Alistair Popple wrote:
   The original implementation of MMC support for Akebono introduced a
   new configuration symbol (MMC_SDHCI_OF_476GTR). This symbol has been
   dropped in favour of using the generic platform driver however the
   select for this symbol was mistakenly left in the platform
   configuration.
   
   This patch removes the obsolete symbol selection.
   
   Signed-off-by: Alistair Popple alist...@popple.id.au
  
  This patch hasn't yet entered linux-next nor Linus' tree. Is it queued
  somewhere? If not, would a
  Acked-by: Paul Bolle pebo...@tiscali.nl
  
  help to get this trivial patch queued for either of those trees?
  
  
  Paul Bolle
  
   ---
   
arch/powerpc/platforms/44x/Kconfig | 1 -
1 file changed, 1 deletion(-)
   
   diff --git a/arch/powerpc/platforms/44x/Kconfig
   b/arch/powerpc/platforms/44x/Kconfig index 8beec7d..908bf11 100644
   --- a/arch/powerpc/platforms/44x/Kconfig
   +++ b/arch/powerpc/platforms/44x/Kconfig
   @@ -220,7 +220,6 @@ config AKEBONO
   
 select USB_EHCI_HCD_PLATFORM
 select MMC_SDHCI
 select MMC_SDHCI_PLTFM
   
   - select MMC_SDHCI_OF_476GTR
   
 select ATA
 select SATA_AHCI_PLATFORM
 help

This trivial cleanup is still not in linux-next nor in Linus' tree.
Could someone else please have a look at it?

Thanks,


Paul Bolle

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

Re: [4/5] IBM Akebono: Add the Akebono platform

2014-09-04 Thread Paul Bolle
Hi Alistair,

On Fri, 2014-05-02 at 10:35 +1000, Alistair Popple wrote:
 On Thu, 1 May 2014 11:27:27 Paul Bolle wrote:
  On Thu, 2014-03-06 at 14:52 +1100, Alistair Popple wrote:
   This patch adds support for the IBM Akebono board.
   + select IBM_EMAC_RGMII_WOL
  
  The patch that added this symbol (and the related driver) was submitted
  in https://lkml.org/lkml/2014/2/21/25 . It's not (yet) included in
  linux-next. Is it queued somewhere else?
 
 To be honest I'm not sure. I will follow this up on the netdev list.

I noticed that this symbol (and its driver) are still not in v3.17-rc3
nor in next-20140904. Any update on this?

Thanks,


Paul Bolle

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

Re: [PATCH] IBM Akebono: Remove obsolete config select

2014-06-13 Thread Paul Bolle
On Fri, 2014-05-02 at 18:06 +1000, Alistair Popple wrote:
 The original implementation of MMC support for Akebono introduced a
 new configuration symbol (MMC_SDHCI_OF_476GTR). This symbol has been
 dropped in favour of using the generic platform driver however the
 select for this symbol was mistakenly left in the platform
 configuration.
 
 This patch removes the obsolete symbol selection.
 
 Signed-off-by: Alistair Popple alist...@popple.id.au

This patch hasn't yet entered linux-next nor Linus' tree. Is it queued
somewhere? If not, would a
Acked-by: Paul Bolle pebo...@tiscali.nl

help to get this trivial patch queued for either of those trees?


Paul Bolle

 ---
  arch/powerpc/platforms/44x/Kconfig | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/arch/powerpc/platforms/44x/Kconfig 
 b/arch/powerpc/platforms/44x/Kconfig
 index 8beec7d..908bf11 100644
 --- a/arch/powerpc/platforms/44x/Kconfig
 +++ b/arch/powerpc/platforms/44x/Kconfig
 @@ -220,7 +220,6 @@ config AKEBONO
   select USB_EHCI_HCD_PLATFORM
   select MMC_SDHCI
   select MMC_SDHCI_PLTFM
 - select MMC_SDHCI_OF_476GTR
   select ATA
   select SATA_AHCI_PLATFORM
   help

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

Re: [PATCH] powerpc: Remove platforms/wsp and associated pieces

2014-06-02 Thread Paul Bolle
On Mon, 2014-06-02 at 11:20 +1000, Michael Ellerman wrote:
 __attribute__ ((unused))
 
 WSP is the last user of CONFIG_PPC_A2, so we remove that as well.
 
 Although CONFIG_PPC_ICSWX still exists, it's no longer selectable for
 any Book3E platform, so we can remove the code in mmu-book3e.h that
 depended on it.
 
 Signed-off-by: Michael Ellerman m...@ellerman.id.au
 ---
  arch/powerpc/Kconfig.debug |5 -
  arch/powerpc/configs/chroma_defconfig  |  307 -
  arch/powerpc/include/asm/mmu-book3e.h  |4 -
  arch/powerpc/include/asm/reg_a2.h  |9 -
  arch/powerpc/include/asm/wsp.h |   14 -
  arch/powerpc/kernel/Makefile   |1 -
  arch/powerpc/kernel/cpu_setup_a2.S |  120 
  arch/powerpc/kernel/cputable.c |   38 --
  arch/powerpc/kernel/exceptions-64e.S   |   16 -
  arch/powerpc/kernel/udbg.c |2 -
  arch/powerpc/kernel/udbg_16550.c   |   11 -
  arch/powerpc/platforms/Kconfig |1 -
  arch/powerpc/platforms/Kconfig.cputype |6 +-
  arch/powerpc/platforms/Makefile|1 -
  arch/powerpc/platforms/wsp/Kconfig |   30 -
  arch/powerpc/platforms/wsp/Makefile|   10 -
  arch/powerpc/platforms/wsp/chroma.c|   56 --
  arch/powerpc/platforms/wsp/h8.c|  135 
  arch/powerpc/platforms/wsp/ics.c   |  762 -
  arch/powerpc/platforms/wsp/ics.h   |   25 -
  arch/powerpc/platforms/wsp/msi.c   |  102 ---
  arch/powerpc/platforms/wsp/msi.h   |   19 -
  arch/powerpc/platforms/wsp/opb_pic.c   |  321 -
  arch/powerpc/platforms/wsp/psr2.c  |   67 --
  arch/powerpc/platforms/wsp/scom_smp.c  |  434 

This (trivially) conflicts with commit 2751b628c97e (powerpc: Fix SMP
issues with ppc64le ABIv2) in next-20140530.

  arch/powerpc/platforms/wsp/scom_wsp.c  |   82 ---
  arch/powerpc/platforms/wsp/setup.c |   36 -
  arch/powerpc/platforms/wsp/smp.c   |   88 ---
  arch/powerpc/platforms/wsp/wsp.c   |  117 
  arch/powerpc/platforms/wsp/wsp.h   |   29 -
  arch/powerpc/platforms/wsp/wsp_pci.c   | 1134 
 
  arch/powerpc/platforms/wsp/wsp_pci.h   |  268 
  32 files changed, 1 insertion(+), 4249 deletions(-)
  delete mode 100644 arch/powerpc/configs/chroma_defconfig
  delete mode 100644 arch/powerpc/include/asm/wsp.h
  delete mode 100644 arch/powerpc/kernel/cpu_setup_a2.S
  delete mode 100644 arch/powerpc/platforms/wsp/Kconfig
  delete mode 100644 arch/powerpc/platforms/wsp/Makefile
  delete mode 100644 arch/powerpc/platforms/wsp/chroma.c
  delete mode 100644 arch/powerpc/platforms/wsp/h8.c
  delete mode 100644 arch/powerpc/platforms/wsp/ics.c
  delete mode 100644 arch/powerpc/platforms/wsp/ics.h
  delete mode 100644 arch/powerpc/platforms/wsp/msi.c
  delete mode 100644 arch/powerpc/platforms/wsp/msi.h
  delete mode 100644 arch/powerpc/platforms/wsp/opb_pic.c
  delete mode 100644 arch/powerpc/platforms/wsp/psr2.c
  delete mode 100644 arch/powerpc/platforms/wsp/scom_smp.c
  delete mode 100644 arch/powerpc/platforms/wsp/scom_wsp.c
  delete mode 100644 arch/powerpc/platforms/wsp/setup.c
  delete mode 100644 arch/powerpc/platforms/wsp/smp.c
  delete mode 100644 arch/powerpc/platforms/wsp/wsp.c
  delete mode 100644 arch/powerpc/platforms/wsp/wsp.h
  delete mode 100644 arch/powerpc/platforms/wsp/wsp_pci.c
  delete mode 100644 arch/powerpc/platforms/wsp/wsp_pci.h

For what it's worth, according to my scripts this doesn't introduce
Kconfig related regressions (eg, you've removed all references to the
Kconfig symbols that were removed). And, of course, that puzzling check
for CONFIG_WSP_DD1_WORKAROUND_DD1_TCE_BUGS is now gone.

Thanks,


Paul Bolle

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

Re: [PATCH] pcmcia: m8xx: remove checks for four macros

2014-05-29 Thread Paul Bolle
On Thu, 2014-05-29 at 13:20 -0500, Scott Wood wrote:
 On Sat, 2014-05-24 at 09:36 +0200, Paul Bolle wrote:
  This driver contains checks for four Kconfig macros. But the related
  Kconfig symbols have never been part of the tree. Remove these checks
  and the code they hide.
  
  Signed-off-by: Paul Bolle pebo...@tiscali.nl
  ---
  Untested.
  
  This has been an issue ever since this driver was added in v2.6.15. Note
  that there is no header named */cpld.h, so setting PRxK can't possibly
  work.
  
   drivers/pcmcia/m8xx_pcmcia.c | 75 
  
   1 file changed, 75 deletions(-)
 
 Does anything in this driver still work?  It looks like bitrot from the
 arch/ppc days, that sort of got updated to use the device tree -- but
 even after this patch there are lots of instances of CONFIG symbols
 being used to assert the exact hardware being used, rather than what
 hardware is supported.

I'm not sure I get what you're pointing at. Can you give one example?

 Is anyone actively maintaining/testing this code?

Related observation: doing
scripts/get_maintainer.pl -f drivers/pcmcia/m8xx_pcmcia.c --no-git-fallback 
--no-keywords

just gave me
linux-pcm...@lists.infradead.org (open list:PCMCIA SUBSYSTEM)
linux-ker...@vger.kernel.org (open list)

Note that there's no person responsible for PCMCIA. That's why I
included the people (and lists) maintaining PPC8XX and PPC.


Paul Bolle

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

Re: [PATCH] pcmcia: m8xx: remove checks for four macros

2014-05-29 Thread Paul Bolle
On Thu, 2014-05-29 at 20:39 +0200, Paul Bolle wrote:
 That's why I included the people (and lists) maintaining PPC8XX and
 PPC.

And of those people Marcelo might consider replacing the bouncing
knack.org address with a redhat.com address. Provided Marcelo still
cares about PPC8XX, that is. But perhaps there are two Marcelo Tosatti's
working on the kernel.


Paul Bolle

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

[PATCH] pcmcia: m8xx: remove checks for four macros

2014-05-24 Thread Paul Bolle
This driver contains checks for four Kconfig macros. But the related
Kconfig symbols have never been part of the tree. Remove these checks
and the code they hide.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested.

This has been an issue ever since this driver was added in v2.6.15. Note
that there is no header named */cpld.h, so setting PRxK can't possibly
work.

 drivers/pcmcia/m8xx_pcmcia.c | 75 
 1 file changed, 75 deletions(-)

diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c
index 182034d2ef58..53b71fe50767 100644
--- a/drivers/pcmcia/m8xx_pcmcia.c
+++ b/drivers/pcmcia/m8xx_pcmcia.c
@@ -78,24 +78,14 @@ MODULE_LICENSE(Dual MPL/GPL);
 
 /* The FADS series are a mess */
 #ifdef CONFIG_FADS
-#if defined(CONFIG_MPC860T) || defined(CONFIG_MPC860) || defined(CONFIG_MPC821)
-#define CONFIG_PCMCIA_SLOT_A
-#else
 #define CONFIG_PCMCIA_SLOT_B
 #endif
-#endif
 
 #if defined(CONFIG_MPC885ADS)
 #define CONFIG_PCMCIA_SLOT_A
 #define PCMCIA_GLITCHY_CD
 #endif
 
-/* Cyclades ACS uses both slots */
-#ifdef CONFIG_PRxK
-#define CONFIG_PCMCIA_SLOT_A
-#define CONFIG_PCMCIA_SLOT_B
-#endif
-
 #endif /* !defined(CONFIG_PCMCIA_SLOT_A)  
!defined(CONFIG_PCMCIA_SLOT_B) */
 
 #if defined(CONFIG_PCMCIA_SLOT_A)  defined(CONFIG_PCMCIA_SLOT_B)
@@ -340,71 +330,6 @@ static inline int voltage_set(int slot, int vcc, int vpp)
 
 #endif
 
-#if defined(CONFIG_PRxK)
-#include asm/cpld.h
-extern volatile fpga_pc_regs *fpga_pc;
-
-#define PCMCIA_BOARD_MSG MPC855T
-
-static int voltage_set(int slot, int vcc, int vpp)
-{
-   u8 reg = 0;
-   u8 regread;
-   cpld_regs *ccpld = get_cpld();
-
-   switch (vcc) {
-   case 0:
-   break;
-   case 33:
-   reg |= PCMCIA_VCC_33;
-   break;
-   case 50:
-   reg |= PCMCIA_VCC_50;
-   break;
-   default:
-   return 1;
-   }
-
-   switch (vpp) {
-   case 0:
-   break;
-   case 33:
-   case 50:
-   if (vcc == vpp)
-   reg |= PCMCIA_VPP_VCC;
-   else
-   return 1;
-   break;
-   case 120:
-   if ((vcc == 33) || (vcc == 50))
-   reg |= PCMCIA_VPP_12;
-   else
-   return 1;
-   default:
-   return 1;
-   }
-
-   reg = reg  (slot  2);
-   regread = in_8(ccpld-fpga_pc_ctl);
-   if (reg !=
-   (regread  ((PCMCIA_VCC_MASK | PCMCIA_VPP_MASK)  (slot  2 {
-   /* enable new powersettings */
-   regread =
-   regread  ~((PCMCIA_VCC_MASK | PCMCIA_VPP_MASK) 
-   (slot  2));
-   out_8(ccpld-fpga_pc_ctl, reg | regread);
-   msleep(100);
-   }
-
-   return 0;
-}
-
-#define socket_get(_slot_) PCMCIA_SOCKET_KEY_LV
-#define hardware_enable(_slot_)/* No hardware to enable */
-#define hardware_disable(_slot_)   /* No hardware to disable */
-
-#endif /* CONFIG_PRxK */
-
 static u32 pending_events[PCMCIA_SOCKETS_NO];
 static DEFINE_SPINLOCK(pending_event_lock);
 
-- 
1.9.0

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

Re: [PATCH] pcmcia: m8xx: remove checks for four macros

2014-05-24 Thread Paul Bolle
The message to Marcelo's address bounced. Does that always happen?


Paul Bolle

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

Re: powerpc: remove checks for CONFIG_BOOK3E_MMU_TLB_STATS

2014-05-23 Thread Paul Bolle
Scott,

On Thu, 2014-05-22 at 17:37 -0500, Scott Wood wrote:
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S: Assembler 
 messages:
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:89: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:238: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:269: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:281: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:441: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:510: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:881: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'
 /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:918: Error: 
 unrecognized opcode: `tlb_miss_prolog_stats'

Thanks for testing!

That's a bit surprising. The patch is intended to be a non event. Ie, it
only removes what the preprocessor would have removed anyway. Unless I
botched it, of course.

What exactly did you test there?


Paul Bolle

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

Re: powerpc: remove checks for CONFIG_BOOK3E_MMU_TLB_STATS

2014-05-23 Thread Paul Bolle
On Fri, 2014-05-23 at 09:33 +0200, Paul Bolle wrote:
 Scott,
 
 On Thu, 2014-05-22 at 17:37 -0500, Scott Wood wrote:
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S: Assembler 
  messages:
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:89: Error: 
  unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:238: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:269: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:281: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:441: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:510: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:881: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
  /home/scott/fsl/git/linux/upstream/arch/powerpc/mm/tlb_low_64e.S:918: 
  Error: unrecognized opcode: `tlb_miss_prolog_stats'
 
 Thanks for testing!
 
 That's a bit surprising. The patch is intended to be a non event. Ie, it
 only removes what the preprocessor would have removed anyway. Unless I
 botched it, of course.
 
 What exactly did you test there?

For what it's worth: I can't reproduce this error with the cross
compiler now shipped with Fedora 20 (ie, powerpc64-linux-gnu-gcc (GCC)
4.8.1 20130717 (Red Hat 4.8.1-5)). It shows a nice and clean
 AS  arch/powerpc/mm/tlb_low_64e.o

in the output.

That's v3.15-rc6, with just this patch, and using a .config generated,
with make oldconfig, from arch/powerpc/configs/ppc64e_defconfig.


Paul Bolle

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

Re: powerpc: remove checks for CONFIG_BOOK3E_MMU_TLB_STATS

2014-05-23 Thread Paul Bolle
On Fri, 2014-05-23 at 12:12 -0500, Scott Wood wrote:
 On Fri, 2014-05-23 at 12:06 +0200, Paul Bolle wrote: 
  For what it's worth: I can't reproduce this error with the cross
  compiler now shipped with Fedora 20 (ie, powerpc64-linux-gnu-gcc (GCC)
  4.8.1 20130717 (Red Hat 4.8.1-5)). It shows a nice and clean
   AS  arch/powerpc/mm/tlb_low_64e.o
  
  in the output.
  
  That's v3.15-rc6, with just this patch, and using a .config generated,
  with make oldconfig, from arch/powerpc/configs/ppc64e_defconfig.
 
 Hmm, I tried applying again and it was fine.

That's a relieve. Thanks, again, for testing!


Paul Bolle

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

Re: [PATCH] powerpc: fix typo 'CONFIG_PMAC'

2014-05-22 Thread Paul Bolle
Andreas,

On Wed, 2014-05-21 at 18:08 +0200, Andreas Schwab wrote:
 Paul Bolle pebo...@tiscali.nl writes:
 
  Commit b0d278b7d3ae (powerpc/perf_event: Reduce latency of calling
  perf_event_do_pending) added a check for CONFIG_PMAC were a check for
  CONFIG_PPC_PMAC was clearly intended.
 
  Fixes: b0d278b7d3ae (powerpc/perf_event: Reduce latency of calling 
  perf_event_do_pending)
  Signed-off-by: Paul Bolle pebo...@tiscali.nl
  ---
  Untested. Needs testing on 32 bit powermac, I guess.
 
  This typo was introduced in v2.6.36. No one noticed because very few
  people still use 32 bit powermacs?
 
 How does that bug manifest itself?

Do you want to know how to test this patch on a 32 bit powermac? Ie, see
if it has any effect, and whether that effect improves things or make
things worse.

I have no clue how to do that, sorry. Perhaps someone else has.


Paul Bolle

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

powerpc: CONFIG_WSP_DD1_WORKAROUND_DD1_TCE_BUGS?

2014-05-22 Thread Paul Bolle
In v3.2 checks for CONFIG_WSP_DD1_WORKAROUND_DD1_TCE_BUGS and
CONFIG_WSP_DD1_WORKAROUND_BAD_PCIE_CLASS were added to
arch/powerpc/platforms/wsp/wsp_pci.c. The check for
CONFIG_WSP_DD1_WORKAROUND_BAD_PCIE_CLASS was dropped again in v3.3.

Neither of these macros have ever had a matching Kconfig symbol. So they
have always evaluated to false.

Is it perhaps intended that one sets the macro still in the tree,
CONFIG_WSP_DD1_WORKAROUND_DD1_TCE_BUGS, manually? And is that macro
still needed?


Paul Bolle

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

[PATCH] powerpc: remove checks for CONFIG_BOOK3E_MMU_TLB_STATS

2014-05-20 Thread Paul Bolle
Three checks for CONFIG_BOOK3E_MMU_TLB_STATS were added in v2.6.32. But
the related Kconfig symbol was never added. These checks have always
evaluated to false. Remove them.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested.

A second order cleanup is now possible (ie, TLB_MISS_PROLOG_STATS and
friends are, well, defined away). Perhaps it is preferable to include
that cleanup in this patch.

 arch/powerpc/include/asm/exception-64e.h | 38 
 arch/powerpc/mm/tlb_low_64e.S| 10 -
 2 files changed, 48 deletions(-)

diff --git a/arch/powerpc/include/asm/exception-64e.h 
b/arch/powerpc/include/asm/exception-64e.h
index a563d9afd179..74004771baed 100644
--- a/arch/powerpc/include/asm/exception-64e.h
+++ b/arch/powerpc/include/asm/exception-64e.h
@@ -69,14 +69,7 @@
 #define EX_TLB_ESR ( 9 * 8) /* Level 0 and 2 only */
 #define EX_TLB_SRR0(10 * 8)
 #define EX_TLB_SRR1(11 * 8)
-#ifdef CONFIG_BOOK3E_MMU_TLB_STATS
-#define EX_TLB_R8  (12 * 8)
-#define EX_TLB_R9  (13 * 8)
-#define EX_TLB_LR  (14 * 8)
-#define EX_TLB_SIZE(15 * 8)
-#else
 #define EX_TLB_SIZE(12 * 8)
-#endif
 
 #defineSTART_EXCEPTION(label)  
\
.globl exc_##label##_book3e;\
@@ -161,36 +154,6 @@ exc_##label##_book3e:
addir11,r13,PACA_EXTLB; \
TLB_MISS_RESTORE(r11)
 
-#ifdef CONFIG_BOOK3E_MMU_TLB_STATS
-#define TLB_MISS_PROLOG_STATS  \
-   mflrr10;\
-   std r8,EX_TLB_R8(r12);  \
-   std r9,EX_TLB_R9(r12);  \
-   std r10,EX_TLB_LR(r12);
-#define TLB_MISS_RESTORE_STATS \
-   ld  r16,EX_TLB_LR(r12); \
-   ld  r9,EX_TLB_R9(r12);  \
-   ld  r8,EX_TLB_R8(r12);  \
-   mtlrr16;
-#define TLB_MISS_STATS_D(name) \
-   addir9,r13,MMSTAT_DSTATS+name;  \
-   bl  .tlb_stat_inc;
-#define TLB_MISS_STATS_I(name) \
-   addir9,r13,MMSTAT_ISTATS+name;  \
-   bl  .tlb_stat_inc;
-#define TLB_MISS_STATS_X(name) \
-   ld  r8,PACA_EXTLB+EX_TLB_ESR(r13);  \
-   cmpdi   cr2,r8,-1;  \
-   beq cr2,61f;\
-   addir9,r13,MMSTAT_DSTATS+name;  \
-   b   62f;\
-61:addir9,r13,MMSTAT_ISTATS+name;  \
-62:bl  .tlb_stat_inc;
-#define TLB_MISS_STATS_SAVE_INFO   \
-   std r14,EX_TLB_ESR(r12);/* save ESR */
-#define TLB_MISS_STATS_SAVE_INFO_BOLTED
\
-   std r14,PACA_EXTLB+EX_TLB_ESR(r13); /* save ESR */
-#else
 #define TLB_MISS_PROLOG_STATS
 #define TLB_MISS_RESTORE_STATS
 #define TLB_MISS_PROLOG_STATS_BOLTED
@@ -201,7 +164,6 @@ exc_##label##_book3e:
 #define TLB_MISS_STATS_Y(name)
 #define TLB_MISS_STATS_SAVE_INFO
 #define TLB_MISS_STATS_SAVE_INFO_BOLTED
-#endif
 
 #define SET_IVOR(vector_number, vector_offset) \
li  r3,vector_offset@l; \
diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S
index 356e8b41fb09..7e25fe472801 100644
--- a/arch/powerpc/mm/tlb_low_64e.S
+++ b/arch/powerpc/mm/tlb_low_64e.S
@@ -1159,13 +1159,3 @@ tlb_load_linear_fault:
b   exc_data_storage_book3e
 1: TLB_MISS_EPILOG_ERROR_SPECIAL
b   exc_instruction_storage_book3e
-
-
-#ifdef CONFIG_BOOK3E_MMU_TLB_STATS
-.tlb_stat_inc:
-1: ldarx   r8,0,r9
-   addir8,r8,1
-   stdcx.  r8,0,r9
-   bne-1b
-   blr
-#endif
-- 
1.9.0

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

[PATCH] powerpc: fix typo 'CONFIG_PPC_CPU'

2014-05-20 Thread Paul Bolle
Commit cd64d1697cf0 (powerpc: mtmsrd not defined) added a check for
CONFIG_PPC_CPU were a check for CONFIG_PPC_FPU was clearly intended.

Fixes: cd64d1697cf0 (powerpc: mtmsrd not defined)
Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Entirely untested. This typo was introduced in v2.6.37. Did no one
notice? Anyhow, this really needs some testing.

 arch/powerpc/lib/sstep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index c0511c27a733..412dd46dd0b7 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -1470,7 +1470,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned 
int instr)
regs-gpr[rd] = byterev_4(val);
goto ldst_done;
 
-#ifdef CONFIG_PPC_CPU
+#ifdef CONFIG_PPC_FPU
case 535:   /* lfsx */
case 567:   /* lfsux */
if (!(regs-msr  MSR_FP))
-- 
1.9.0

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

[PATCH] powerpc: fix typo 'CONFIG_PMAC'

2014-05-20 Thread Paul Bolle
Commit b0d278b7d3ae (powerpc/perf_event: Reduce latency of calling
perf_event_do_pending) added a check for CONFIG_PMAC were a check for
CONFIG_PPC_PMAC was clearly intended.

Fixes: b0d278b7d3ae (powerpc/perf_event: Reduce latency of calling 
perf_event_do_pending)
Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested. Needs testing on 32 bit powermac, I guess.

This typo was introduced in v2.6.36. No one noticed because very few
people still use 32 bit powermacs?

 arch/powerpc/kernel/time.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 122a580f7322..bb3cfa10a4ea 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -551,7 +551,7 @@ void timer_interrupt(struct pt_regs * regs)
may_hard_irq_enable();
 

-#if defined(CONFIG_PPC32)  defined(CONFIG_PMAC)
+#if defined(CONFIG_PPC32)  defined(CONFIG_PPC_PMAC)
if (atomic_read(ppc_n_lost_interrupts) != 0)
do_IRQ(regs);
 #endif
-- 
1.9.0

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

[PATCH] powerpc: remove check for CONFIG_SERIAL_TEXT_DEBUG

2014-05-20 Thread Paul Bolle
The Kconfig symbol SERIAL_TEXT_DEBUG was removed from
arch/powerpc/Kconfig.debug in v2.6.22. (In v2.6.27 it was also removed
from arch/ppc/Kconfig.debug.) So the check for its macro has evaluated
to false for over five years now. Remove that check and the few lines
of code hidden behind it.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested.

 arch/powerpc/kernel/head_40x.S | 19 ---
 1 file changed, 19 deletions(-)

diff --git a/arch/powerpc/kernel/head_40x.S b/arch/powerpc/kernel/head_40x.S
index 67ee0d6c1070..7d7d8635227a 100644
--- a/arch/powerpc/kernel/head_40x.S
+++ b/arch/powerpc/kernel/head_40x.S
@@ -930,25 +930,6 @@ initial_mmu:
tlbwe   r4,r0,TLB_DATA  /* Load the data portion of the entry */
tlbwe   r3,r0,TLB_TAG   /* Load the tag portion of the entry */
 
-#if defined(CONFIG_SERIAL_TEXT_DEBUG)  defined(SERIAL_DEBUG_IO_BASE)
-
-   /* Load a TLB entry for the UART, so that ppc4xx_progress() can use
-* the UARTs nice and early.  We use a 4k real==virtual mapping. */
-
-   lis r3,SERIAL_DEBUG_IO_BASE@h
-   ori r3,r3,SERIAL_DEBUG_IO_BASE@l
-   mr  r4,r3
-   clrrwi  r4,r4,12
-   ori r4,r4,(TLB_WR|TLB_I|TLB_M|TLB_G)
-
-   clrrwi  r3,r3,12
-   ori r3,r3,(TLB_VALID | TLB_PAGESZ(PAGESZ_4K))
-
-   li  r0,0/* TLB slot 0 */
-   tlbwe   r4,r0,TLB_DATA
-   tlbwe   r3,r0,TLB_TAG
-#endif /* CONFIG_SERIAL_DEBUG_TEXT  SERIAL_DEBUG_IO_BASE */
-
isync
 
/* Establish the exception vector base
-- 
1.9.0

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

Re: [4/5] IBM Akebono: Add the Akebono platform

2014-05-01 Thread Paul Bolle
On Thu, 2014-03-06 at 14:52 +1100, Alistair Popple wrote:
 This patch adds support for the IBM Akebono board.

This patch just landed in linux-next (ie, in next-20140501).

 Signed-off-by: Alistair Popple alist...@popple.id.au
[...]
 --- a/arch/powerpc/platforms/44x/Kconfig
 +++ b/arch/powerpc/platforms/44x/Kconfig
 @@ -199,6 +199,32 @@ config CURRITUCK
   help
 This option enables support for the IBM Currituck (476fpe) evaluation 
 board
  
 +config AKEBONO
 + bool IBM Akebono (476gtr) Support
 + depends on PPC_47x
 + default n
 + select SWIOTLB
 + select 476FPE
 + select PPC4xx_PCI_EXPRESS
 + select I2C
 + select I2C_IBM_IIC
 + select NETDEVICES
 + select ETHERNET
 + select NET_VENDOR_IBM
 + select IBM_EMAC_EMAC4
 + select IBM_EMAC_RGMII_WOL

The patch that added this symbol (and the related driver) was submitted
in https://lkml.org/lkml/2014/2/21/25 . It's not (yet) included in
linux-next. Is it queued somewhere else?

 + select USB
 + select USB_OHCI_HCD_PLATFORM
 + select USB_EHCI_HCD_PLATFORM
 + select MMC_SDHCI
 + select MMC_SDHCI_PLTFM
 + select MMC_SDHCI_OF_476GTR

The plan to add MMC_SDHCI_OF_476GTR seems to have been abandoned (see
the discussion of https://lkml.org/lkml/2014/2/21/24 ). So this select
is not needed. Should I submit a trivial patch to drop this select?

 + select ATA
 + select SATA_AHCI_PLATFORM
 + help
 +   This option enables support for the IBM Akebono (476gtr) evaluation 
 board
 +
 +
  config ICON
   bool Icon
   depends on 44x


Paul Bolle

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

Re: [PATCH] mtd: nand: remove pasemi_nand driver

2013-12-27 Thread Paul Bolle
On Thu, 2013-12-26 at 21:52 -0800, Olof Johansson wrote:
 The PA Semi platform is sparsely used these days (with just a handful
 of known users out there). I'm 100% sure none of them use the MTD NAND
 driver -- most standard use cases include PCI-e SATA controllers for
 storage instead, and boot is done from LPC NOR flash.
 
 So, there's little reason to keep carrying a driver that's not used by
 anybody and that just gets hit by some tree-wide or tools-based changes
 every now and then.
 
 Signed-off-by: Olof Johansson o...@lixom.net
 ---
  drivers/mtd/nand/pasemi_nand.c |  238 
 
  1 file changed, 238 deletions(-)
  delete mode 100644 drivers/mtd/nand/pasemi_nand.c

If this gets accepted we should remove the related entry in
drivers/mtd/nand/Kconfig and the related line in
drivers/mtd/nand/Makefile too, shouldn't we?


Paul Bolle

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


[PATCH] powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU

2013-07-16 Thread Paul Bolle
The Kconfig symbol 8XX_MINIMAL_FPEMU was removed in commit 968219fa33
(powerpc/8xx: Remove 8xx specific minimal FPU emulation). But that
commit didn't remove all code depending on that symbol. Do so now.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Not even compile tested!

 arch/powerpc/include/asm/emulated_ops.h |   2 -
 arch/powerpc/kernel/Makefile|   2 -
 arch/powerpc/kernel/softemu8xx.c| 199 
 3 files changed, 203 deletions(-)
 delete mode 100644 arch/powerpc/kernel/softemu8xx.c

diff --git a/arch/powerpc/include/asm/emulated_ops.h 
b/arch/powerpc/include/asm/emulated_ops.h
index 63f2a22..5a8b82a 100644
--- a/arch/powerpc/include/asm/emulated_ops.h
+++ b/arch/powerpc/include/asm/emulated_ops.h
@@ -46,8 +46,6 @@ extern struct ppc_emulated {
struct ppc_emulated_entry unaligned;
 #ifdef CONFIG_MATH_EMULATION
struct ppc_emulated_entry math;
-#elif defined(CONFIG_8XX_MINIMAL_FPEMU)
-   struct ppc_emulated_entry 8xx;
 #endif
 #ifdef CONFIG_VSX
struct ppc_emulated_entry vsx;
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index a8619bf..d706e58 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -117,8 +117,6 @@ obj-$(CONFIG_DYNAMIC_FTRACE)+= ftrace.o
 obj-$(CONFIG_FUNCTION_GRAPH_TRACER)+= ftrace.o
 obj-$(CONFIG_FTRACE_SYSCALLS)  += ftrace.o
 
-obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o
-
 ifneq ($(CONFIG_PPC_INDIRECT_IO),y)
 obj-y  += iomap.o
 endif
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c
deleted file mode 100644
index 29b2f81..000
--- a/arch/powerpc/kernel/softemu8xx.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Software emulation of some PPC instructions for the 8xx core.
- *
- * Copyright (C) 1998 Dan Malek (dma...@jlc.net)
- *
- * Software floating emuation for the MPC8xx processor.  I did this mostly
- * because it was easier than trying to get the libraries compiled for
- * software floating point.  The goal is still to get the libraries done,
- * but I lost patience and needed some hacks to at least get init and
- * shells running.  The first problem is the setjmp/longjmp that save
- * and restore the floating point registers.
- *
- * For this emulation, our working registers are found on the register
- * save area.
- */
-
-#include linux/errno.h
-#include linux/sched.h
-#include linux/kernel.h
-#include linux/mm.h
-#include linux/stddef.h
-#include linux/unistd.h
-#include linux/ptrace.h
-#include linux/user.h
-#include linux/interrupt.h
-
-#include asm/pgtable.h
-#include asm/uaccess.h
-#include asm/io.h
-
-/* Eventually we may need a look-up table, but this works for now.
-*/
-#define LFS48
-#define LFD50
-#define LFDU   51
-#define STFD   54
-#define STFDU  55
-#define FMR63
-
-void print_8xx_pte(struct mm_struct *mm, unsigned long addr)
-{
-   pgd_t *pgd;
-   pmd_t *pmd;
-   pte_t *pte;
-
-   printk( pte @ 0x%8lx: , addr);
-   pgd = pgd_offset(mm, addr  PAGE_MASK);
-   if (pgd) {
-   pmd = pmd_offset(pud_offset(pgd, addr  PAGE_MASK),
-addr  PAGE_MASK);
-   if (pmd  pmd_present(*pmd)) {
-   pte = pte_offset_kernel(pmd, addr  PAGE_MASK);
-   if (pte) {
-   printk( (0x%08lx)-(0x%08lx)-0x%08lx\n,
-   (long)pgd, (long)pte, 
(long)pte_val(*pte));
-#define pp ((long)pte_val(*pte))
-   printk( RPN: %05lx PP: %lx SPS: %lx SH: %lx 
-  CI: %lx v: %lx\n,
-  pp12,/* rpn */
-  (pp10)3, /* pp */
-  (pp3)1, /* small */
-  (pp2)1, /* shared */
-  (pp1)1, /* cache inhibit */
-  pp1   /* valid */
-  );
-#undef pp
-   }
-   else {
-   printk(no pte\n);
-   }
-   }
-   else {
-   printk(no pmd\n);
-   }
-   }
-   else {
-   printk(no pgd\n);
-   }
-}
-
-int get_8xx_pte(struct mm_struct *mm, unsigned long addr)
-{
-   pgd_t *pgd;
-   pmd_t *pmd;
-   pte_t *pte;
-   int retval = 0;
-
-   pgd = pgd_offset(mm, addr  PAGE_MASK);
-   if (pgd) {
-   pmd = pmd_offset(pud_offset(pgd, addr  PAGE_MASK),
-addr  PAGE_MASK);
-   if (pmd  pmd_present(*pmd)) {
-   pte = pte_offset_kernel(pmd, addr  PAGE_MASK);
-   if (pte) {
-   retval = (int)pte_val(*pte

[PATCH] powerpc/pseries: drop select HOTPLUG

2013-07-14 Thread Paul Bolle
The Kconfig symbol HOTPLUG was removed with commit 40b313608a (Finally
eradicate CONFIG_HOTPLUG). But there's still one select statement for
that symbol. It seems that select statement was added after the patch to
remove CONFIG_HOTPLUG was submitted. Anyhow, it is useless and can be
dropped.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Not tested.

 arch/powerpc/platforms/pseries/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/platforms/pseries/Kconfig 
b/arch/powerpc/platforms/pseries/Kconfig
index 1bd3399..62b4f80 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -19,7 +19,6 @@ config PPC_PSERIES
select ZLIB_DEFLATE
select PPC_DOORBELL
select HAVE_CONTEXT_TRACKING
-   select HOTPLUG if SMP
select HOTPLUG_CPU if SMP
default y
 
-- 
1.8.1.4

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


[PATCH] [TRIVIAL] Fix error typo CONFIG_START_KERNEL

2013-05-29 Thread Paul Bolle
Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested. Please note that a quick scan of this code suggests that the
preceding test should read
#if (CONFIG_LOWMEM_SIZE  (0xF000 - CONFIG_KERNEL_START))

But this fix is correct anyhow.

 arch/powerpc/mm/init_32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c
index 01e2db9..d47d3da 100644
--- a/arch/powerpc/mm/init_32.c
+++ b/arch/powerpc/mm/init_32.c
@@ -52,7 +52,7 @@
 #if defined(CONFIG_KERNEL_START_BOOL) || defined(CONFIG_LOWMEM_SIZE_BOOL)
 /* The amount of lowmem must be within 0xF000 - KERNELBASE. */
 #if (CONFIG_LOWMEM_SIZE  (0xF000 - PAGE_OFFSET))
-#error You must adjust CONFIG_LOWMEM_SIZE or CONFIG_START_KERNEL
+#error You must adjust CONFIG_LOWMEM_SIZE or CONFIG_KERNEL_START
 #endif
 #endif
 #define MAX_LOW_MEMCONFIG_LOWMEM_SIZE
-- 
1.7.11.7

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


[PATCH] powerpc: remove dependency on MV64360

2013-05-15 Thread Paul Bolle
The Kconfig entry that allows to Distribute interrupts on all CPUs by
default has a (negative) dependency on MV64360. But that Kconfig symbol
was removed in v2.6.27, which means that this dependency has evaluated
to true ever since. It can be removed too.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Tested by grepping the tree.

 arch/powerpc/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c33e3ad..9a822d9 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -404,7 +404,7 @@ config FA_DUMP
 
 config IRQ_ALL_CPUS
bool Distribute interrupts on all CPUs by default
-   depends on SMP  !MV64360
+   depends on SMP
help
  This option gives the kernel permission to distribute IRQs across
  multiple CPUs.  Saying N here will route all IRQs to the first
-- 
1.7.11.7

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


[PATCH] powerpc: Fix typo CONFIG_ICSWX_PID

2013-03-29 Thread Paul Bolle
Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested. As this typo was introduced in v3.3, with commit
9d670280908013004f173b2b86414d9b6918511b (powerpc: Split ICSWX ACOP and
PID processing), which actually added PPC_ICSWX_PID, this surely needs
testing.

 arch/powerpc/mm/icswx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/icswx.c b/arch/powerpc/mm/icswx.c
index 8cdbd86..915412e 100644
--- a/arch/powerpc/mm/icswx.c
+++ b/arch/powerpc/mm/icswx.c
@@ -67,7 +67,7 @@
 
 void switch_cop(struct mm_struct *next)
 {
-#ifdef CONFIG_ICSWX_PID
+#ifdef CONFIG_PPC_ICSWX_PID
mtspr(SPRN_PID, next-context.cop_pid);
 #endif
mtspr(SPRN_ACOP, next-context.acop);
-- 
1.7.11.7

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


[PATCH] powerpc: remove PReP

2013-03-27 Thread Paul Bolle
PPC_PREP is marked as BROKEN since v2.6.15. Remove all PReP specific
code now.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
0) Suggested by Michael. 

1) Sent as one patch. powerpc is the biggest chunk (if one includes the
doc changes). Is it easier if I split this into a number maintainer
specific patches? Ie, split into: powerpc, doc, pnp and fb.

2) None of this is tested. None! Since I'm not actually involved in
powerpc in any way, not everyone might consider me the first choice to
do this cleanup.

3) I removed two files in documentation that are almost entirely PReP
specific. The remaining lines looked uninteresting.

4) I grepped thoroughly for second order effects. I also grepped for
remaining references to PReP. This patch has all things I thought that
could be dropped. Perhaps doing
git grep -n PReP | grep -v -i -e rewritten -e dougan

might still reveal, to those familiar with PReP, a few places of
outdated stuff. 

 Documentation/powerpc/00-INDEX  |  4 --
 Documentation/powerpc/sound.txt | 81 -
 Documentation/powerpc/zImage_layout.txt | 47 ---
 arch/powerpc/Kconfig|  8 ++--
 arch/powerpc/include/asm/dma.h  |  5 --
 arch/powerpc/include/asm/io.h   |  4 --
 arch/powerpc/include/asm/processor.h|  9 +---
 arch/powerpc/kernel/setup-common.c  |  6 ---
 arch/powerpc/platforms/Kconfig  |  3 +-
 arch/powerpc/platforms/prep/Kconfig | 23 --
 drivers/pnp/pnpbios/core.c  |  9 +---
 drivers/video/cirrusfb.c| 62 +
 12 files changed, 19 insertions(+), 242 deletions(-)
 delete mode 100644 Documentation/powerpc/sound.txt
 delete mode 100644 Documentation/powerpc/zImage_layout.txt
 delete mode 100644 arch/powerpc/platforms/prep/Kconfig

diff --git a/Documentation/powerpc/00-INDEX b/Documentation/powerpc/00-INDEX
index 5620fb5..dd9e928 100644
--- a/Documentation/powerpc/00-INDEX
+++ b/Documentation/powerpc/00-INDEX
@@ -14,10 +14,6 @@ hvcs.txt
- IBM Hypervisor Virtual Console Server Installation Guide
 mpc52xx.txt
- Linux 2.6.x on MPC52xx family
-sound.txt
-   - info on sound support under Linux/PPC
-zImage_layout.txt
-   - info on the kernel images for Linux/PPC
 qe_firmware.txt
- describes the layout of firmware binaries for the Freescale QUICC
  Engine and the code that parses and uploads the microcode therein.
diff --git a/Documentation/powerpc/sound.txt b/Documentation/powerpc/sound.txt
deleted file mode 100644
index df23d95..000
--- a/Documentation/powerpc/sound.txt
+++ /dev/null
@@ -1,81 +0,0 @@
-Information about PowerPC Sound support
-=
-
-Please mail me (Cort Dougan, c...@fsmlabs.com) if you have questions,
-comments or corrections.
-
-Last Change: 6.16.99
-
-This just covers sound on the PReP and CHRP systems for now and later
-will contain information on the PowerMac's.
-
-Sound on PReP has been tested and is working with the PowerStack and IBM
-Power Series onboard sound systems which are based on the cs4231(2) chip.
-The sound options when doing the make config are a bit different from
-the default, though.
-
-The I/O base, irq and dma lines that you enter during the make config
-are ignored and are set when booting according to the machine type.
-This is so that one binary can be used for Motorola and IBM machines
-which use different values and isn't allowed by the driver, so things
-are hacked together in such a way as to allow this information to be
-set automatically on boot.
-
-1. Motorola PowerStack PReP machines
-
-  Enable support for Crystal CS4232 based (PnP) cards and for the
-  Microsoft Sound System.  The MSS isn't used, but some of the routines
-  that the CS4232 driver uses are in it.
-
-  Although the options you set are ignored and determined automatically
-  on boot these are included for information only:
-
-  (830) CS4232 audio I/O base 530, 604, E80 or F40
-  (10) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15
-  (6) CS4232 audio DMA 0, 1 or 3
-  (7) CS4232 second (duplex) DMA 0, 1 or 3
-
-  This will allow simultaneous record and playback, as 2 different dma
-  channels are used.
-
-  The sound will be all left channel and very low volume since the
-  auxiliary input isn't muted by default.  I had the changes necessary
-  for this in the kernel but the sound driver maintainer didn't want
-  to include them since it wasn't common in other machines.  To fix this
-  you need to mute it using a mixer utility of some sort (if you find one
-  please let me know) or by patching the driver yourself and recompiling.
-
-  There is a problem on the PowerStack 2's (PowerStack Pro's) using a
-  different irq/drq than the kernel expects.  Unfortunately, I don't know
-  which irq/drq it is so if anyone knows please email me.
-
-  Midi is not supported since the cs4232 driver doesn't support

Re: [PATCH] powerpc: drop even more unused Kconfig symbols

2013-03-27 Thread Paul Bolle
On Thu, 2013-03-21 at 12:10 +0100, Paul Bolle wrote:
 diff --git a/arch/powerpc/platforms/wsp/Kconfig 
 b/arch/powerpc/platforms/wsp/Kconfig
 index 79d2225..9eea710 100644
 --- a/arch/powerpc/platforms/wsp/Kconfig
 +++ b/arch/powerpc/platforms/wsp/Kconfig
 @@ -29,7 +29,3 @@ config PPC_CHROMA
   default y
  
  endmenu
 -
 -config PPC_A2_DD2
 - bool Support for DD2 based A2/WSP systems
 - depends on PPC_A2

This part was not included in the powerpc: remove PReP follow up
patch. Should I resend separately?


Paul Bolle

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


Re: [PATCH] powerpc: remove PReP

2013-03-27 Thread Paul Bolle
On Wed, 2013-03-27 at 13:05 +0100, Geert Uytterhoeven wrote:
 This section is CHRP-specific. The cs4232 driver also worked on the
 CHRP LongTrail.
 But I don't remember if the parameter values above also applied to LongTrail.
 I do remember it didn't work without specifing the right parameters, so you
 probably want to keep this section.

My reasoning was quite simply that this file was 14 years old so that
probably nobody is using that stuff anymore. Are people actually using
CHRP (whatever that is)? Anyhow, cs4232 is mentioned in some other files
too:
$ git grep -l -n cs4232 Documentation/ 
Documentation/powerpc/sound.txt
Documentation/sound/alsa/ALSA-Configuration.txt
Documentation/sound/alsa/alsa-parameters.txt
Documentation/sound/oss/Introduction
Documentation/sound/oss/Tropez+

Could these few lines be dumped in one of these (except
powerpc/sound.txt, of course)?


Paul Bolle

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


Re: [PATCH] powerpc: remove PReP

2013-03-27 Thread Paul Bolle
By the way, I get bounces from Adam's address:
 I'm sorry to have to inform you that your message could not
 be delivered to one or more recipients. It's attached below.
 
 For further assistance, please send mail to postmaster
 
 If you do so, please include this problem report. You can
 delete your own text from the attached returned message.
 
 abe...@mit.edu: 550 5.1.1 abe...@mit.edu... User unknown

(It's now removed from the CC line.) Does anyone know what's going on
here?


Paul Bolle

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


[PATCH] powerpc: remove two lines of dead code

2013-03-25 Thread Paul Bolle
Commit c1fb6816fb1b78dd94b673b0fdaa9a7a16e97bd1 (powerpc: Add
relocation on exception vector handlers) added two lines of code that
depend on the macro CONFIG_HVC_SCOM. That macro doesn't exist. Perhaps
it was intended to use CONFIG_PPC_SCOM here. But since
maintence_interrupt is a typo and there's nothing in arch/powerpc that
looks like maintenance_interrupt it seems best to just delete these
lines.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested, but low risk anyway.

 arch/powerpc/kernel/exceptions-64s.S | 4 
 1 file changed, 4 deletions(-)

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index 200afa5..9181353 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -870,10 +870,6 @@ tm_unavailable_relon_pSeries_1:
. = 0x5500
b   denorm_exception_hv
 #endif
-#ifdef CONFIG_HVC_SCOM
-   STD_RELON_EXCEPTION_HV(0x5600, 0x1600, maintence_interrupt)
-   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0x1600)
-#endif /* CONFIG_HVC_SCOM */
STD_RELON_EXCEPTION_PSERIES(0x5700, 0x1700, altivec_assist)
 
/* Other future vectors */
-- 
1.7.11.7

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


[PATCH] memblock: kill config MAX_ACTIVE_REGIONS

2013-03-21 Thread Paul Bolle
The Kconfig symbol MAX_ACTIVE_REGIONS is unused. Commit
0ee332c1451869963626bf9cac88f165a90990e1 (memblock: Kill
early_node_map[]) removed the only place were it was actually used. But
it did not remove its Kconfig entries (for powerpc and sh).

Remove those two entries (and the entry for metag, that popped up in
v3.9-rc1).

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
0) Eyeball tested again.

1) It felt silly to split this clean up patch into three patches. But if
the maintainers involved disagree I'm happy to split and resend it. 

 arch/metag/mm/Kconfig | 5 -
 arch/powerpc/Kconfig  | 5 -
 arch/sh/mm/Kconfig| 7 ---
 3 files changed, 17 deletions(-)

diff --git a/arch/metag/mm/Kconfig b/arch/metag/mm/Kconfig
index 794f26a..03fb8f1 100644
--- a/arch/metag/mm/Kconfig
+++ b/arch/metag/mm/Kconfig
@@ -93,11 +93,6 @@ config ARCH_SPARSEMEM_ENABLE
 config ARCH_SPARSEMEM_DEFAULT
def_bool y
 
-config MAX_ACTIVE_REGIONS
-   int
-   default 2 if SPARSEMEM
-   default 1
-
 config ARCH_SELECT_MEMORY_MODEL
def_bool y
 
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 867ace7..b674397 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -427,11 +427,6 @@ config NODES_SHIFT
default 4
depends on NEED_MULTIPLE_NODES
 
-config MAX_ACTIVE_REGIONS
-   int
-   default 256 if PPC64
-   default 32
-
 config ARCH_SELECT_MEMORY_MODEL
def_bool y
depends on PPC64
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
index 5a43a87..dba285e 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -137,13 +137,6 @@ config ARCH_SPARSEMEM_ENABLE
 config ARCH_SPARSEMEM_DEFAULT
def_bool y
 
-config MAX_ACTIVE_REGIONS
-   int
-   default 6 if (CPU_SUBTYPE_SHX3  SPARSEMEM)
-   default 2 if SPARSEMEM  (CPU_SUBTYPE_SH7722 || \
-  CPU_SUBTYPE_SH7785)
-   default 1
-
 config ARCH_SELECT_MEMORY_MODEL
def_bool y
 
-- 
1.7.11.7

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


[PATCH] powerpc: drop even more unused Kconfig symbols

2013-03-21 Thread Paul Bolle
When I submitted commit 6805ab6daa2b589fe3242d05ddc47a9dbb0c4eb1
(powerpc: drop unused Kconfig symbols) I apparently failed to notice
that my patch also made PREP_RESIDUAL and PPC_A2_DD2 unused. Drop these
now.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
0) Untested.

1) I investigated these Kconfig files a bit and discovered that PPC_PREP
is marked BROKEN since v2.6.15, see commit
5be396b00ca0f2f769c55cf69bbd7c77451c925e (powerpc: Mark PREP and
embedded as broken for now). Though it's not my problem, this does
suggest PReP support can be removed entirely.

 arch/powerpc/platforms/prep/Kconfig | 13 -
 arch/powerpc/platforms/wsp/Kconfig  |  4 
 2 files changed, 17 deletions(-)

diff --git a/arch/powerpc/platforms/prep/Kconfig 
b/arch/powerpc/platforms/prep/Kconfig
index 1547f66..2036e7e 100644
--- a/arch/powerpc/platforms/prep/Kconfig
+++ b/arch/powerpc/platforms/prep/Kconfig
@@ -8,16 +8,3 @@ config PPC_PREP
select PPC_UDBG_16550
select PPC_NATIVE
default n
-
-config PREP_RESIDUAL
-   bool Support for PReP Residual Data
-   depends on PPC_PREP
-   help
- Some PReP systems have residual data passed to the kernel by the
- firmware.  This allows detection of memory size, devices present and
- other useful pieces of information.  Sometimes this information is
- not present or incorrect, in which case it could lead to the machine 
- behaving incorrectly.  If this happens, either disable PREP_RESIDUAL
- or pass the 'noresidual' option to the kernel.
-
- If you are running a PReP system, say Y here, otherwise say N.
diff --git a/arch/powerpc/platforms/wsp/Kconfig 
b/arch/powerpc/platforms/wsp/Kconfig
index 79d2225..9eea710 100644
--- a/arch/powerpc/platforms/wsp/Kconfig
+++ b/arch/powerpc/platforms/wsp/Kconfig
@@ -29,7 +29,3 @@ config PPC_CHROMA
default y
 
 endmenu
-
-config PPC_A2_DD2
-   bool Support for DD2 based A2/WSP systems
-   depends on PPC_A2
-- 
1.7.11.7

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


[PATCH] powerpc/40x: remove unused config 405GPR

2013-03-14 Thread Paul Bolle
The last user of Kconfig symbol 405GPR got removed in release v3.2.
Remove this symbol too.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
 arch/powerpc/platforms/40x/Kconfig | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/powerpc/platforms/40x/Kconfig 
b/arch/powerpc/platforms/40x/Kconfig
index a392d12..7b7a77c 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -119,9 +119,6 @@ config 405EZ
select IBM_EMAC_MAL_CLR_ICINTSTAT
select IBM_EMAC_MAL_COMMON_ERR
 
-config 405GPR
-   bool
-
 config XILINX_VIRTEX
bool
select DEFAULT_UIMAGE
-- 
1.7.11.7



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


[PATCH] powerpc: remove config 8260_PCI9

2013-03-14 Thread Paul Bolle
The last user of Kconfig symbol 8260_PCI9 got removed in release v3.2.
Remove this symbol too.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
0) Untested.

1) This probably is a second order effect of my commit
6805ab6daa2b589fe3242d05ddc47a9dbb0c4eb1 (powerpc: drop unused Kconfig
symbols). Not sure how I missed that.

 arch/powerpc/Kconfig | 5 -
 1 file changed, 5 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b89d7eb..8014a44 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -774,11 +774,6 @@ config PCI_8260
select PPC_INDIRECT_PCI
default y
 
-config 8260_PCI9
-   bool Enable workaround for MPC826x erratum PCI 9
-   depends on PCI_8260  !8272
-   default y
-
 source drivers/pci/pcie/Kconfig
 
 source drivers/pci/Kconfig
-- 
1.7.11.7

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


[PATCH] powerpc/qe: remove useless Kconfig default

2013-03-12 Thread Paul Bolle
The Kconfig entry for QE_USB contains
default y if USB_GADGET_FSL_QE

But USB_GADGET_FSL_QE got removed in commit
193ab2a6070039e7ee2b9b9bebea754a7c52fd1b (usb: gadget: allow multiple
gadgets to be built). This default will therefor never be set and can
be removed.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
0) Tested with make ARCH=powerpc menuconfig and make ARCH=powerpc
oldconfig (before and after the patch). Enough to see this patch didn't
obviously break stuff.

1) I don't really understand commit
193ab2a6070039e7ee2b9b9bebea754a7c52fd1b. Was its point that we replace
USB_GADGET_FSL_QE with USB_FSL_QE? I couldn't tell and chose not to
actually change any behavior.

 arch/powerpc/sysdev/qe_lib/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/sysdev/qe_lib/Kconfig 
b/arch/powerpc/sysdev/qe_lib/Kconfig
index 41ac3df..33caf44 100644
--- a/arch/powerpc/sysdev/qe_lib/Kconfig
+++ b/arch/powerpc/sysdev/qe_lib/Kconfig
@@ -22,6 +22,5 @@ config UCC
 
 config QE_USB
bool
-   default y if USB_GADGET_FSL_QE
help
  QE USB Controller support
-- 
1.7.11.7

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


[PATCH] powerpc: Remove last traces of POWER4_ONLY

2013-03-11 Thread Paul Bolle
The Kconfig symbol POWER4_ONLY got removed in commit
694caf0255dcab506d1e174c96a65ab65d96e108 (powerpc: Remove
CONFIG_POWER4_ONLY). Remove its last traces.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Untested.

 arch/powerpc/platforms/Kconfig.cputype | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/platforms/Kconfig.cputype 
b/arch/powerpc/platforms/Kconfig.cputype
index cea2f09..18e3b76 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -124,9 +124,8 @@ config 6xx
select PPC_HAVE_PMU_SUPPORT
 
 config POWER3
-   bool
depends on PPC64  PPC_BOOK3S
-   default y if !POWER4_ONLY
+   def_bool y
 
 config POWER4
depends on PPC64  PPC_BOOK3S
@@ -145,8 +144,7 @@ config TUNE_CELL
  but somewhat slower on other machines. This option only changes
  the scheduling of instructions, not the selection of instructions
  itself, so the resulting kernel will keep running on all other
- machines. When building a kernel that is supposed to run only
- on Cell, you should also select the POWER4_ONLY option.
+ machines.
 
 # this is temp to handle compat with arch=ppc
 config 8xx
-- 
1.7.11.7

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


[PATCH] powerpc: remove outdated default

2013-03-11 Thread Paul Bolle
The Kconfig symbol PCI_PERMEDIA got removed in v2.6.24, through commit
e6b6e3ffb9ee8926f9f2f7dc9147df73e27d5828 ([POWERPC] Remove APUS support
from arch/ppc). Remove its last occurrence.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Tested with make ARCH=powerpc menuconfig using ps3_defconfig, both
before and after this patch. (!4xx  !CPM2  !8xx is true for ps3,
and it uses PPC_PCI_CHOICE.) Nothing seemed to change. Which makes
sense, as defaulting to an undefined symbol should be a nop.

 arch/powerpc/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b89d7eb..3d566c3 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -744,7 +744,6 @@ config PCI
bool PCI support if PPC_PCI_CHOICE
default y if !40x  !CPM2  !8xx  !PPC_83xx \
 !PPC_85xx  !PPC_86xx  !GAMECUBE_COMMON
-   default PCI_PERMEDIA if !4xx  !CPM2  !8xx
default PCI_QSPAN if !4xx  !CPM2  8xx
select ARCH_SUPPORTS_MSI
select GENERIC_PCI_IOMAP
-- 
1.7.11.7

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


[PATCH] powerpc/wsp: drop select PPC_WSP_COPRO

2013-03-07 Thread Paul Bolle
There is no Kconfig symbol PPC_WSP_COPRO. The select statement for it is
a nop. Drop it.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
A short treatise on the uneventful life of PPC_WSP_COPRO in the mainline
kernel tree

Release v3.0 included commit 76b4eda866c4936af8d696f040abea56bf688e16
(powerpc: Add A2 cpu support). It added some code wrapped in an
#ifdef CONFIG_PPC_WSP_COPRO and #endif pair. It did not add a
Kconfig symbol PPC_WSP_COPRO. Neither did it add a preprocessor #define
for CONFIG_PPC_WSP_COPRO. There haS actually never been such a symbol or
such a macro in the mainline tree.

Release v3.3 included commit fac26ad4f9cb794c9d1032f55f40a31cb55be09a
(powerpc/book3e: Add ICSWX/ACOP support to Book3e cores like A2). It
basically renamed CONFIG_PPC_WSP_COPRO to CONFIG_PPC_ICSWX. It did not
elaborate why it did that. But at least PPC_ICSWX was a valid Kconfig
symbol.

Release v3.3 also included commit
cc35b6766878e31accc95c3fdae945bdadc73a46 (powerpc/book3e: Add Chroma as
a new WSP/PowerEN platform.). That commit added a Kconfig select
statement for PPC_WSP_COPRO. It is not clear why it did that. Current
opinion is that it served no purpose and that the kernel tree would be
better of without that statement.

 arch/powerpc/platforms/wsp/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/platforms/wsp/Kconfig 
b/arch/powerpc/platforms/wsp/Kconfig
index 79d2225..56203a4 100644
--- a/arch/powerpc/platforms/wsp/Kconfig
+++ b/arch/powerpc/platforms/wsp/Kconfig
@@ -9,7 +9,6 @@ config PPC_WSP
select PCI
select PPC_IO_WORKAROUNDS if PCI
select PPC_INDIRECT_PIO if PCI
-   select PPC_WSP_COPRO
default n
 
 menu WSP platform selection
-- 
1.7.11.7

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


[PATCH] powerpc: Kill flatdevtree_env.h too

2012-06-10 Thread Paul Bolle
Commit 430b01e8f5e524a2bfa50074d97d0bdc2505807b ([POWERPC] Kill
flatdevtree.c) killed the two files including flatdevtree_env.h. It was
apparently just an oversight to not kill that header too. Kill it now.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Tested with git grep only.

 arch/powerpc/boot/flatdevtree_env.h |   27 ---
 1 files changed, 0 insertions(+), 27 deletions(-)
 delete mode 100644 arch/powerpc/boot/flatdevtree_env.h

diff --git a/arch/powerpc/boot/flatdevtree_env.h 
b/arch/powerpc/boot/flatdevtree_env.h
deleted file mode 100644
index 66e0ebb..000
--- a/arch/powerpc/boot/flatdevtree_env.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file adds the header file glue so that the shared files
- * flatdevicetree.[ch] can compile and work in the powerpc bootwrapper.
- *
- * strncmp  strchr copied from file:lib/string.c
- * Copyright (C) 1991, 1992  Linus Torvalds
- *
- * Maintained by: Mark A. Greer mgr...@mvista.com
- */
-#ifndef _PPC_BOOT_FLATDEVTREE_ENV_H_
-#define _PPC_BOOT_FLATDEVTREE_ENV_H_
-
-#include stdarg.h
-#include stddef.h
-#include types.h
-#include string.h
-#include stdio.h
-#include ops.h
-
-#define be16_to_cpu(x) (x)
-#define cpu_to_be16(x) (x)
-#define be32_to_cpu(x) (x)
-#define cpu_to_be32(x) (x)
-#define be64_to_cpu(x) (x)
-#define cpu_to_be64(x) (x)
-
-#endif /* _PPC_BOOT_FLATDEVTREE_ENV_H_ */
-- 
1.7.7.6

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


Re: [PATCH] powerpc/40x: Add APM8018X SOC support

2011-11-23 Thread Paul Bolle
Tanmay,

(Some minor Kconfig related comments follow.)

On Wed, 2011-11-23 at 15:14 +0530, Tanmay Inamdar wrote:
 The AppliedMicro APM8018X embedded processor targets embedded applications 
 that
 require low power and a small footprint. It features a PowerPC 405 processor
 core built in a 65nm low-power CMOS process with a five-stage pipeline 
 executing
 up to one instruction per cycle. The family has 128-kbytes of on-chip memory,
 a 128-bit local bus and on-chip DDR2 SDRAM controller with 16-bit interface.

[...]

 Signed-off-by: Tanmay Inamdar tinam...@apm.com
 ---
  arch/powerpc/Kconfig|6 +
  arch/powerpc/boot/dcr.h |6 +
  arch/powerpc/boot/dts/klondike.dts  |  668 +
  arch/powerpc/configs/40x/klondike_defconfig | 1353 
 +++
  arch/powerpc/include/asm/dcr-regs.h |   20 +
  arch/powerpc/kernel/cputable.c  |   52 +
  arch/powerpc/kernel/udbg_16550.c|   22 +
  arch/powerpc/platforms/40x/Kconfig  |   11 +
  arch/powerpc/platforms/40x/ppc40x_simple.c  |4 +-
  9 files changed, 2141 insertions(+), 1 deletions(-)
  create mode 100644 arch/powerpc/boot/dts/klondike.dts
  create mode 100644 arch/powerpc/configs/40x/klondike_defconfig
 
 diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
 index b177caa..3f2cc36 100644
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
 @@ -978,3 +978,9 @@ config PPC_LIB_RHEAP
   bool
  
  source arch/powerpc/kvm/Kconfig
 +
 +config UART_16550_WORD_ADDRESSABLE
 + bool
 + default n
 + help
 +Enable this if your UART 16550 is word addressable.

This is only relevant for this SOC isn't it? If so, it might be better
to add it to arch/powerpc/platforms/40x/Kconfig.

The help line can be dropped (there's no prompt, so the help won't be
user visible).

Some people would suggest to use
def_bool n

here. (I don't really care.)

 [...]

 diff --git a/arch/powerpc/kernel/udbg_16550.c 
 b/arch/powerpc/kernel/udbg_16550.c
 index 6837f83..dd3bce9 100644
 --- a/arch/powerpc/kernel/udbg_16550.c
 +++ b/arch/powerpc/kernel/udbg_16550.c
 @@ -18,6 +18,19 @@ extern void real_writeb(u8 data, volatile u8 __iomem 
 *addr);
  extern u8 real_205_readb(volatile u8 __iomem  *addr);
  extern void real_205_writeb(u8 data, volatile u8 __iomem *addr);
  
 +#ifdef CONFIG_UART_16550_WORD_ADDRESSABLE
 +struct NS16550 {
 + /* this struct must be packed */
 + unsigned char rbr;  /* 0 */ u8 s0[3];
 + unsigned char ier;  /* 1 */ u8 s1[3];
 + unsigned char fcr;  /* 2 */ u8 s2[3];
 + unsigned char lcr;  /* 3 */ u8 s3[3];
 + unsigned char mcr;  /* 4 */ u8 s4[3];
 + unsigned char lsr;  /* 5 */ u8 s5[3];
 + unsigned char msr;  /* 6 */ u8 s6[3];
 + unsigned char scr;  /* 7 */ u8 s7[3];
 +};
 +#else
  struct NS16550 {
   /* this struct must be packed */
   unsigned char rbr;  /* 0 */
 @@ -29,6 +42,7 @@ struct NS16550 {
   unsigned char msr;  /* 6 */
   unsigned char scr;  /* 7 */
  };
 +#endif /* CONFIG_UART_16550_WORD_ADDRESSABLE */
  
  #define thr rbr
  #define iir fcr
 [...] 
 diff --git a/arch/powerpc/platforms/40x/Kconfig 
 b/arch/powerpc/platforms/40x/Kconfig
 index 1530229..3d0d1d9 100644
 --- a/arch/powerpc/platforms/40x/Kconfig
 +++ b/arch/powerpc/platforms/40x/Kconfig
 @@ -186,3 +186,14 @@ config IBM405_ERR51
  #bool
  #depends on !STB03xxx  PPC4xx_DMA
  #default y
 +#
 +
 +config APM8018X
 + bool APM8018X
 + depends on 40x
 + default y

Why is this default y? All other selectors of PPC40x_SIMPLE default
to n.
 
 + select PPC40x_SIMPLE

There was recently some powerpc related discussion on using select on
symbols that are themselves user selectable (see
https://lkml.org/lkml/2011/11/9/426 ). But other symbols already select
this symbol so this is not specific to this patch. 

 + select UART_16550_WORD_ADDRESSABLE
 + help
 +   This option enables support for the AppliedMicro Klondike board.
 +

Since you're selecting it here it's good that you made
UART_16550_WORD_ADDRESSABLE hidden (as it has no prompt). But perhaps
you could even drop it and in the code just test for CONFIG_APM8018X. Or
are you expecting more users of UART_16550_WORD_ADDRESSABLE?

 [...]


Paul Bolle

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


[PATCH] powerpc/44x: Fix typos '47x' and 'CONFIG_47x'

2011-11-14 Thread Paul Bolle
Commit 674bfa4855 (powerpc/44x: Kexec support for PPC440X chipsets)
used the Kconfig symbol '47x', and the macro 'CONFIG_47x'. Neither
exist. These should have been 'PPC_47x' and 'CONFIG_PPC_47x'. Fix these
typos.

Also fix a related preprocessor check at the top of kexec.h.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
The commit explanation sounds very confident, but this is all just
educated guesswork. Entirely untested too (I haven't got the hardware
nor the toolchain). So this needs careful review. 

 arch/powerpc/Kconfig |2 +-
 arch/powerpc/include/asm/kexec.h |3 ++-
 arch/powerpc/kernel/misc_32.S|2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b177caa..951e18f 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -345,7 +345,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
 
 config KEXEC
bool kexec system call (EXPERIMENTAL)
-   depends on (PPC_BOOK3S || FSL_BOOKE || (44x  !SMP  !47x))  
EXPERIMENTAL
+   depends on (PPC_BOOK3S || FSL_BOOKE || (44x  !SMP  !PPC_47x))  
EXPERIMENTAL
help
  kexec is a system call that implements the ability to shutdown your
  current kernel, and to start another kernel.  It is like a reboot
diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
index f921eb1..fadf513 100644
--- a/arch/powerpc/include/asm/kexec.h
+++ b/arch/powerpc/include/asm/kexec.h
@@ -2,7 +2,8 @@
 #define _ASM_POWERPC_KEXEC_H
 #ifdef __KERNEL__
 
-#if defined(CONFIG_FSL_BOOKE) || defined(CONFIG_44x)
+#if defined(CONFIG_FSL_BOOKE) || \
+   (defined(CONFIG_44x)  !defined(CONFIG_PPC_47x))
 
 /*
  * On FSL-BookE we setup a 1:1 mapping which covers the first 2GiB of memory
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index f7d760a..7cd07b4 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -738,7 +738,7 @@ relocate_new_kernel:
mr  r5, r31
 
li  r0, 0
-#elif defined(CONFIG_44x)   !defined(CONFIG_47x)
+#elif defined(CONFIG_44x)   !defined(CONFIG_PPC_47x)
 
 /*
  * Code for setting up 1:1 mapping for PPC440x for KEXEC
-- 
1.7.4.4



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


[PATCH] powerpc/p3060qds: Fix select of 'MPC8xxx_GPIO'

2011-11-12 Thread Paul Bolle
The driver for the Freescale P3060 QDS got added by commit 96cc017c5b
([...] Add support for P3060QDS board). Its Kconfig entry selects
MPC8xxx_GPIO. But at the time that driver got added MPC8xxx_GPIO was
already renamed to GPIO_MPC8XXX, by commit c68308dd50c (gpio: move
mpc8xxx/512x gpio driver to drivers/gpio).

So make this driver select GPIO_MPC8XXX.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
0) Bravely untested: I haven't got the hardware nor the PPC toolchain
needed to build this. And it seems this needs (build) testing anyhow.

1) Sent to the people who wrote the two patches mentioned in the commit
explanation and CC'd the non-authors who signed-off these patches.

2) The config tools do not complain about selects that cannot be met
because they concern a Kconfig symbol that doesn't even exist. Shouldn't
they be made to complain in that case?

 arch/powerpc/platforms/85xx/Kconfig |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/platforms/85xx/Kconfig 
b/arch/powerpc/platforms/85xx/Kconfig
index 45023e2..d7946be 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -203,7 +203,7 @@ config P3060_QDS
select PPC_E500MC
select PHYS_64BIT
select SWIOTLB
-   select MPC8xxx_GPIO
+   select GPIO_MPC8XXX
select HAS_RAPIDIO
select PPC_EPAPR_HV_PIC
help
-- 
1.7.4.4



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


[PATCH 15/21] powerpc: drop unused Kconfig symbols

2011-10-14 Thread Paul Bolle
Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
 arch/powerpc/Kconfig   |   22 --
 arch/powerpc/platforms/40x/Kconfig |5 -
 arch/powerpc/platforms/Kconfig.cputype |8 
 arch/powerpc/platforms/embedded6xx/Kconfig |4 
 arch/powerpc/platforms/prep/Kconfig|9 -
 arch/powerpc/platforms/wsp/Kconfig |5 -
 6 files changed, 0 insertions(+), 53 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 6926b61..6887d80 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -379,10 +379,6 @@ config PHYP_DUMP
 
  If unsure, say N
 
-config PPCBUG_NVRAM
-   bool Enable reading PPCBUG NVRAM during boot if PPLUS || LOPEC
-   default y if PPC_PREP
-
 config IRQ_ALL_CPUS
bool Distribute interrupts on all CPUs by default
depends on SMP  !MV64360
@@ -744,24 +740,6 @@ config 8260_PCI9
depends on PCI_8260  !8272
default y
 
-choice
-   prompt IDMA channel for PCI 9 workaround
-   depends on 8260_PCI9
-
-config 8260_PCI9_IDMA1
-   bool IDMA1
-
-config 8260_PCI9_IDMA2
-   bool IDMA2
-
-config 8260_PCI9_IDMA3
-   bool IDMA3
-
-config 8260_PCI9_IDMA4
-   bool IDMA4
-
-endchoice
-
 source drivers/pci/pcie/Kconfig
 
 source drivers/pci/Kconfig
diff --git a/arch/powerpc/platforms/40x/Kconfig 
b/arch/powerpc/platforms/40x/Kconfig
index d733d7c..4bd3a27 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -115,11 +115,6 @@ config PPC40x_SIMPLE
help
  This option enables the simple PowerPC 40x platform support.
 
-# 40x specific CPU modules, selected based on the board above.
-config NP405H
-   bool
-   #depends on ASH
-
 # OAK doesn't exist but wanted to keep this around for any future 403GCX boards
 config 403GCX
bool
diff --git a/arch/powerpc/platforms/Kconfig.cputype 
b/arch/powerpc/platforms/Kconfig.cputype
index e06e395..f16f997 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -282,14 +282,6 @@ config PPC_MMU_NOHASH
def_bool y
depends on !PPC_STD_MMU
 
-config PPC_MMU_NOHASH_32
-   def_bool y
-   depends on PPC_MMU_NOHASH  PPC32
-
-config PPC_MMU_NOHASH_64
-   def_bool y
-   depends on PPC_MMU_NOHASH  PPC64
-
 config PPC_BOOK3E_MMU
def_bool y
depends on FSL_BOOKE || PPC_BOOK3E
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig 
b/arch/powerpc/platforms/embedded6xx/Kconfig
index 524d971..5a8f50a 100644
--- a/arch/powerpc/platforms/embedded6xx/Kconfig
+++ b/arch/powerpc/platforms/embedded6xx/Kconfig
@@ -87,10 +87,6 @@ config MV64X60
 config MPC10X_OPENPIC
bool
 
-config MPC10X_STORE_GATHERING
-   bool Enable MPC10x store gathering
-   depends on MPC10X_BRIDGE
-
 config GAMECUBE_COMMON
bool
 
diff --git a/arch/powerpc/platforms/prep/Kconfig 
b/arch/powerpc/platforms/prep/Kconfig
index f0536c7..1547f66 100644
--- a/arch/powerpc/platforms/prep/Kconfig
+++ b/arch/powerpc/platforms/prep/Kconfig
@@ -21,12 +21,3 @@ config PREP_RESIDUAL
  or pass the 'noresidual' option to the kernel.
 
  If you are running a PReP system, say Y here, otherwise say N.
-
-config PROC_PREPRESIDUAL
-   bool Support for reading of PReP Residual Data in /proc
-   depends on PREP_RESIDUAL  PROC_FS
-   help
- Enabling this option will create a /proc/residual file which allows
- you to get at the residual data on PReP systems.  You will need a tool
- (lsresidual) to parse it.  If you aren't on a PReP system, you don't
- want this.
diff --git a/arch/powerpc/platforms/wsp/Kconfig 
b/arch/powerpc/platforms/wsp/Kconfig
index c3c48eb..375f01e 100644
--- a/arch/powerpc/platforms/wsp/Kconfig
+++ b/arch/powerpc/platforms/wsp/Kconfig
@@ -21,8 +21,3 @@ endmenu
 config PPC_A2_DD2
bool Support for DD2 based A2/WSP systems
depends on PPC_A2
-
-config WORKAROUND_ERRATUM_463
-   depends on PPC_A2_DD2
-   bool Workaround erratum 463
-   default y
-- 
1.7.4.4




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