Re: Linux 4.9: Reported regressions as of Sunday, 2016-11-20
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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'
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?
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
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'
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'
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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'
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'
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
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