omap: dmtimer: Move driver out of plat-omap
Subsystems (8)
v2 cover omap: dmtimer: Move driver out of plat-omap
The series moves dmtimer out of plat-omap to drivers/clocksource. The series also does a bunch of changes to pwm-omap-dmtimer code to adapt to the driver migration and clean up plat specific pdata-quirks and use the dmtimer platform data.
Boot tested on DRA7-EVM and AM437X-GP-EVM.
More testing would be of great help.
No code changes in this v2 version. Only enhanced patch statistics for renames.
Keerthy (7):
clocksource: dmtimer: Remove all the exports
arm: omap: Move dmtimer.h out of plat-omap
arm: OMAP: Move dmtimer driver out of plat-omap to drivers under
clocksource
dmtimer: Add timer ops to the platform data structure
clocksource: dmtimer: Populate the timer ops to the pdata
pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
arm: omap: pdata-quirks: Remove unused timer pdata
arch/arm/mach-omap1/pm.c | 2 +-
arch/arm/mach-omap1/timer.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +-
arch/arm/mach-omap2/pdata-quirks.c | 32 -------------
arch/arm/mach-omap2/timer.c | 2 +-
arch/arm/plat-omap/Kconfig | 6 ---
arch/arm/plat-omap/Makefile | 1 -
drivers/clocksource/Kconfig | 6 +++
drivers/clocksource/Makefile | 1 +
.../plat-omap => drivers/clocksource}/dmtimer.c | 54 +++++++++++-----------
drivers/pwm/pwm-omap-dmtimer.c | 39 +++++++++-------
.../include/plat => include/clocksource}/dmtimer.h | 0
include/linux/platform_data/dmtimer-omap.h | 38 +++++++++++++++
20 files changed, 104 insertions(+), 95 deletions(-)
rename {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c (95%)
rename {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h (100%)Signature · 1 line
1.9.1
PATCH v2 1/7 clocksource: dmtimer: Remove all the exports
Remove all the unwanted exports from the driver
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
arch/arm/plat-omap/dmtimer.c | 27 --------------------------- 1 file changed, 27 deletions(-)
arch/arm/plat-omap/dmtimer.c +0 -27
@@ -302,7 +302,6 @@ struct omap_dm_timer *omap_dm_timer_request(void) {return _omap_dm_timer_request (REQUEST_ANY ,NULL ); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request);struct omap_dm_timer *omap_dm_timer_request_specific (int id) {
@@ -315,7 +314,6 @@ struct omap_dm_timer *omap_dm_timer_request_specific(int id)return _omap_dm_timer_request (REQUEST_BY_ID , &id); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request_specific);/** * omap_dm_timer_request_by_cap - Request a timer by capability
@@ -330,7 +328,6 @@ struct omap_dm_timer *omap_dm_timer_request_by_cap(u32 cap) {return _omap_dm_timer_request (REQUEST_BY_CAP , &cap); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request_by_cap);/** * omap_dm_timer_request_by_node - Request a timer by device-tree node
@@ -346,7 +343,6 @@ struct omap_dm_timer *omap_dm_timer_request_by_node(struct device_node *np)return _omap_dm_timer_request (REQUEST_BY_NODE , np); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request_by_node);int omap_dm_timer_free (struct omap_dm_timer *timer) {
@@ -359,7 +355,6 @@ int omap_dm_timer_free(struct omap_dm_timer *timer) timer->reserved =0 ;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_free);void omap_dm_timer_enable (struct omap_dm_timer *timer) {
@@ -379,13 +374,11 @@ void omap_dm_timer_enable(struct omap_dm_timer *timer) } } } -EXPORT_SYMBOL_GPL (omap_dm_timer_enable);void omap_dm_timer_disable (struct omap_dm_timer *timer) {pm_runtime_put_sync (&timer->pdev->dev); } -EXPORT_SYMBOL_GPL (omap_dm_timer_disable);int omap_dm_timer_get_irq (struct omap_dm_timer *timer) {
@@ -393,7 +386,6 @@ int omap_dm_timer_get_irq(struct omap_dm_timer *timer)return timer->irq;return -EINVAL ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_get_irq);#if defined(CONFIG_ARCH_OMAP1 )#include <mach/hardware.h>
@@ -429,7 +421,6 @@ __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) return inputmask; } -EXPORT_SYMBOL_GPL (omap_dm_timer_modify_idlect_mask);#else
@@ -439,7 +430,6 @@ struct clk *omap_dm_timer_get_fclk(struct omap_dm_timer *timer)return timer->fclk;return NULL ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_get_fclk);__u32 omap_dm_timer_modify_idlect_mask (__u32 inputmask) {
@@ -447,7 +437,6 @@ __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) return 0; } -EXPORT_SYMBOL_GPL (omap_dm_timer_modify_idlect_mask);#endif
@@ -461,7 +450,6 @@ int omap_dm_timer_trigger(struct omap_dm_timer *timer)omap_dm_timer_write_reg (timer,OMAP_TIMER_TRIGGER_REG ,0 );return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_trigger);int omap_dm_timer_start (struct omap_dm_timer *timer) {
@@ -482,7 +470,6 @@ int omap_dm_timer_start(struct omap_dm_timer *timer) timer->context.tclr = l;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_start);int omap_dm_timer_stop (struct omap_dm_timer *timer) {
@@ -506,7 +493,6 @@ int omap_dm_timer_stop(struct omap_dm_timer *timer)omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_stop);int omap_dm_timer_set_source (struct omap_dm_timer *timer,int source) {
@@ -569,7 +555,6 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)return ret; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_source);int omap_dm_timer_set_load (struct omap_dm_timer *timer,int autoreload,unsigned int load)
@@ -595,7 +580,6 @@ int omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_load);/* Optimized set_load which removes costly spin wait in timer_start */ int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload,
@@ -625,7 +609,6 @@ int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, timer->context.tcrr = load;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_load_start);int omap_dm_timer_set_match (struct omap_dm_timer *timer,int enable,unsigned int match)
@@ -650,7 +633,6 @@ int omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_match);int omap_dm_timer_set_pwm (struct omap_dm_timer *timer,int def_on,int toggle,int trigger)
@@ -676,7 +658,6 @@ int omap_dm_timer_set_pwm(struct omap_dm_timer *timer, int def_on,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_pwm);int omap_dm_timer_set_prescaler (struct omap_dm_timer *timer,int prescaler) {
@@ -699,7 +680,6 @@ int omap_dm_timer_set_prescaler(struct omap_dm_timer *timer, int prescaler)omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_prescaler);int omap_dm_timer_set_int_enable (struct omap_dm_timer *timer,unsigned int value)
@@ -716,7 +696,6 @@ int omap_dm_timer_set_int_enable(struct omap_dm_timer *timer,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_int_enable);/** * omap_dm_timer_set_int_disable - disable timer interrupts
@@ -747,7 +726,6 @@ int omap_dm_timer_set_int_disable(struct omap_dm_timer *timer, u32 mask)omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_int_disable);unsigned int omap_dm_timer_read_status (struct omap_dm_timer *timer) {
@@ -762,7 +740,6 @@ unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer)return l; } -EXPORT_SYMBOL_GPL (omap_dm_timer_read_status);int omap_dm_timer_write_status (struct omap_dm_timer *timer,unsigned int value) {
@@ -773,7 +750,6 @@ int omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value)return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_write_status);unsigned int omap_dm_timer_read_counter (struct omap_dm_timer *timer) {
@@ -784,7 +760,6 @@ unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer)return __omap_dm_timer_read_counter (timer, timer->posted); } -EXPORT_SYMBOL_GPL (omap_dm_timer_read_counter);int omap_dm_timer_write_counter (struct omap_dm_timer *timer,unsigned int value) {
@@ -799,7 +774,6 @@ int omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int value) timer->context.tcrr = value;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_write_counter);int omap_dm_timers_active (void ) {
@@ -816,7 +790,6 @@ int omap_dm_timers_active(void) }return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timers_active);static const struct of_device_id omap_timer_match[];
Signature · 1 line
1.9.1
PATCH v2 1/7 clocksource: dmtimer: Remove all the exports
Hi,
Quoted 4 lines · Keerthy
Remove all the unwanted exports from the driver
Signed-off-by Keerthy <[email protected]>---
-- Sebastian
Quoted 231 lines
No code changes in this v2 version. Only enhanced patch statistics for renames.
arch/arm/plat-omap/dmtimer.c | 27 --------------------------- 1 file changed, 27 deletions(-)arch/arm/plat-omap/dmtimer.c +0
-27@@ -302,7 +302,6 @@ struct omap_dm_timer *omap_dm_timer_request(void) {return _omap_dm_timer_request (REQUEST_ANY ,NULL ); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request);struct omap_dm_timer *omap_dm_timer_request_specific (int id) {@@ -315,7 +314,6 @@ struct omap_dm_timer *omap_dm_timer_request_specific(int id)return _omap_dm_timer_request (REQUEST_BY_ID , &id); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request_specific);/** * omap_dm_timer_request_by_cap - Request a timer by capability @@ -330,7 +328,6 @@ struct omap_dm_timer *omap_dm_timer_request_by_cap(u32 cap) {return _omap_dm_timer_request (REQUEST_BY_CAP , &cap); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request_by_cap);/** * omap_dm_timer_request_by_node - Request a timer by device-tree node @@ -346,7 +343,6 @@ struct omap_dm_timer *omap_dm_timer_request_by_node(struct device_node *np)return _omap_dm_timer_request (REQUEST_BY_NODE , np); } -EXPORT_SYMBOL_GPL (omap_dm_timer_request_by_node);int omap_dm_timer_free (struct omap_dm_timer *timer) {@@ -359,7 +355,6 @@ int omap_dm_timer_free(struct omap_dm_timer *timer) timer->reserved =0 ;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_free);void omap_dm_timer_enable (struct omap_dm_timer *timer) {@@ -379,13 +374,11 @@ void omap_dm_timer_enable(struct omap_dm_timer *timer) } } } -EXPORT_SYMBOL_GPL (omap_dm_timer_enable);void omap_dm_timer_disable (struct omap_dm_timer *timer) {pm_runtime_put_sync (&timer->pdev->dev); } -EXPORT_SYMBOL_GPL (omap_dm_timer_disable);int omap_dm_timer_get_irq (struct omap_dm_timer *timer) {@@ -393,7 +386,6 @@ int omap_dm_timer_get_irq(struct omap_dm_timer *timer)return timer->irq;return -EINVAL ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_get_irq);#if defined(CONFIG_ARCH_OMAP1 )#include <mach/hardware.h> @@ -429,7 +421,6 @@ __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) return inputmask; } -EXPORT_SYMBOL_GPL (omap_dm_timer_modify_idlect_mask);#else @@ -439,7 +430,6 @@ struct clk *omap_dm_timer_get_fclk(struct omap_dm_timer *timer)return timer->fclk;return NULL ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_get_fclk);__u32 omap_dm_timer_modify_idlect_mask (__u32 inputmask) {@@ -447,7 +437,6 @@ __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) return 0; } -EXPORT_SYMBOL_GPL (omap_dm_timer_modify_idlect_mask);#endif @@ -461,7 +450,6 @@ int omap_dm_timer_trigger(struct omap_dm_timer *timer)omap_dm_timer_write_reg (timer,OMAP_TIMER_TRIGGER_REG ,0 );return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_trigger);int omap_dm_timer_start (struct omap_dm_timer *timer) {@@ -482,7 +470,6 @@ int omap_dm_timer_start(struct omap_dm_timer *timer) timer->context.tclr = l;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_start);int omap_dm_timer_stop (struct omap_dm_timer *timer) {@@ -506,7 +493,6 @@ int omap_dm_timer_stop(struct omap_dm_timer *timer)omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_stop);int omap_dm_timer_set_source (struct omap_dm_timer *timer,int source) {@@ -569,7 +555,6 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)return ret; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_source);int omap_dm_timer_set_load (struct omap_dm_timer *timer,int autoreload,unsigned int load)@@ -595,7 +580,6 @@ int omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_load);/* Optimized set_load which removes costly spin wait in timer_start */ int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload,@@ -625,7 +609,6 @@ int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, timer->context.tcrr = load;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_load_start);int omap_dm_timer_set_match (struct omap_dm_timer *timer,int enable,unsigned int match)@@ -650,7 +633,6 @@ int omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_match);int omap_dm_timer_set_pwm (struct omap_dm_timer *timer,int def_on,int toggle,int trigger)@@ -676,7 +658,6 @@ int omap_dm_timer_set_pwm(struct omap_dm_timer *timer, int def_on,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_pwm);int omap_dm_timer_set_prescaler (struct omap_dm_timer *timer,int prescaler) {@@ -699,7 +680,6 @@ int omap_dm_timer_set_prescaler(struct omap_dm_timer *timer, int prescaler)omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_prescaler);int omap_dm_timer_set_int_enable (struct omap_dm_timer *timer,unsigned int value)@@ -716,7 +696,6 @@ int omap_dm_timer_set_int_enable(struct omap_dm_timer *timer,omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_int_enable);/** * omap_dm_timer_set_int_disable - disable timer interrupts @@ -747,7 +726,6 @@ int omap_dm_timer_set_int_disable(struct omap_dm_timer *timer, u32 mask)omap_dm_timer_disable (timer);return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_set_int_disable);unsigned int omap_dm_timer_read_status (struct omap_dm_timer *timer) {@@ -762,7 +740,6 @@ unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer)return l; } -EXPORT_SYMBOL_GPL (omap_dm_timer_read_status);int omap_dm_timer_write_status (struct omap_dm_timer *timer,unsigned int value) {@@ -773,7 +750,6 @@ int omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value)return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_write_status);unsigned int omap_dm_timer_read_counter (struct omap_dm_timer *timer) {@@ -784,7 +760,6 @@ unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer)return __omap_dm_timer_read_counter (timer, timer->posted); } -EXPORT_SYMBOL_GPL (omap_dm_timer_read_counter);int omap_dm_timer_write_counter (struct omap_dm_timer *timer,unsigned int value) {@@ -799,7 +774,6 @@ int omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int value) timer->context.tcrr = value;return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timer_write_counter);int omap_dm_timers_active (void ) {@@ -816,7 +790,6 @@ int omap_dm_timers_active(void) }return 0 ; } -EXPORT_SYMBOL_GPL (omap_dm_timers_active);static const struct of_device_id omap_timer_match[];Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/99f214b3/attachment.sig>
PATCH v2 2/7 arm: omap: Move dmtimer.h out of plat-omap
In reply to KeerthyThe header file is currently under plat-omap directory under arch/omap. Move this out to an accessible place.
No Code changes done to the header file.
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
arch/arm/mach-omap1/pm.c | 2 +-
arch/arm/mach-omap1/timer.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 +-
arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +-
arch/arm/mach-omap2/pdata-quirks.c | 2 +-
arch/arm/mach-omap2/timer.c | 2 +-
arch/arm/plat-omap/dmtimer.c | 2 +-
{arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h | 0
14 files changed, 13 insertions(+), 13 deletions(-)
rename {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h (100%)arch/arm/mach-omap1/pm.c +1 -1
@@ -55,7 +55,7 @@#include <mach/tc.h> #include <mach/mux.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include <mach/irqs.h>
arch/arm/mach-omap1/timer.c +1 -1
@@ -27,7 +27,7 @@#include <linux/platform_device.h> #include <linux/platform_data/dmtimer-omap.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "soc.h"
arch/arm/mach-omap2/omap_hwmod_2420_data.c +1 -1
@@ -16,7 +16,7 @@#include <linux/i2c-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "l3_2xxx.h"
arch/arm/mach-omap2/omap_hwmod_2430_data.c +1 -1
@@ -18,7 +18,7 @@#include <linux/platform_data/hsmmc-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "l3_2xxx.h"
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +1 -1
@@ -11,7 +11,7 @@#include <linux/platform_data/gpio-omap.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include "omap_hwmod.h"
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +1 -1
@@ -25,7 +25,7 @@#include "l4_3xxx.h" #include <linux/platform_data/asoc-ti-mcbsp.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "soc.h" #include "omap_hwmod.h"
arch/arm/mach-omap2/omap_hwmod_44xx_data.c +1 -1
@@ -30,7 +30,7 @@#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "omap_hwmod_common_data.h"
arch/arm/mach-omap2/omap_hwmod_54xx_data.c +1 -1
@@ -26,7 +26,7 @@#include <linux/omap-dma.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "omap_hwmod_common_data.h"
arch/arm/mach-omap2/omap_hwmod_7xx_data.c +1 -1
@@ -26,7 +26,7 @@#include <linux/omap-dma.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "omap_hwmod_common_data.h"
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -1
@@ -18,7 +18,7 @@#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/hsmmc-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod_common_data.h" #include "cm81xx.h"
arch/arm/mach-omap2/pdata-quirks.c +1 -1
@@ -27,7 +27,7 @@#include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_data/media/ir-rx51.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "common.h" #include "common-board-devices.h"
arch/arm/mach-omap2/timer.c +1 -1
@@ -26,6 +26,7 @@* License. See the file "COPYING" in the main directory of this archive * for more details. */ +#include <clocksource/dmtimer.h> #include <linux/init.h> #include <linux/time.h> #include <linux/interrupt.h>
@@ -49,7 +50,6 @@#include "omap_hwmod.h" #include "omap_device.h" #include <plat/counter-32k.h> -#include <plat/dmtimer.h> #include "omap-pm.h" #include "soc.h"
arch/arm/plat-omap/dmtimer.c +1 -1
@@ -47,7 +47,7 @@#include <linux/platform_device.h> #include <linux/platform_data/dmtimer-omap.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> static u32 omap_reserved_systimers;static LIST_HEAD (omap_timer_list);
include/clocksource/dmtimer.h renamed from arch/arm/plat-omap/include/plat/dmtimer.h +0 -0
Signature · 1 line
1.9.1
Tony Lindgren
maintainerPATCH v2 2/7 arm: omap: Move dmtimer.h out of plat-omap
Quoted 4 lines · Keerthy
The header file is currently under plat-omap directory under
arch/omap. Move this out to an accessible place.No Code changes done to the header file.
Some of the dmtimer functions are in this header to optimize the size of the system timer code. Can you please check if some of them can be left out of dmtimer.h and be made private to mach-omap1/timer.c and mach-omap2/timer.c?
Again, we don't want driver code to start mis-using these as that's immediately going to be big mess out of control.
Regards,
Tony
PATCH v2 2/7 arm: omap: Move dmtimer.h out of plat-omap
Quoted 10 lines · Tony Lindgren
Quoted 4 lines · Keerthy
The header file is currently under plat-omap directory under
arch/omap. Move this out to an accessible place.No Code changes done to the header file.
Some of the dmtimer functions are in this header to optimize the size of the system timer code. Can you please check if some of them can be left out of
dmtimer.hand be made private tomach-omap1/timer.candmach-omap2/timer.c?
Okay. I will try to clean that as well.
Quoted 3 lines
Again, we don't want driver code to start mis-using these as that's immediately going to be big mess out of control.
Sure.
Quoted 5 lines
Regards,
Tony
PATCH v2 2/7 arm: omap: Move dmtimer.h out of plat-omap
Quoted 7 lines · Keerthy
Quoted 4 lines · Tony Lindgren
Quoted 3 lines · Keerthy
The header file is currently under plat-omap directory under
arch/omap. Move this out to an accessible place.
Quoted 8 lines
Quoted 6 lines
Quoted 1 line
No Code changes done to the header file.
Some of the dmtimer functions are in this header to optimize the size of the system timer code. Can you please check if some of them can be left out of
dmtimer.hand be made private tomach-omap1/timer.candmach-omap2/timer.c?Okay. I will try to clean that as well.
Tony,
Only function that i could push out of dmtimer.h was __omap_dm_timer_override_errata
which is being currently called by mach-omap2/timer.c alone.
Rest all are used both my dmtimer.c as well as mach-omap2/timer.c. Here is the list:
__omap_dm_timer_read__omap_dm_timer_write__omap_dm_timer_init_regs__omap_dm_timer_enable_posted__omap_dm_timer_stop__omap_dm_timer_load_start__omap_dm_timer_int_enable__omap_dm_timer_read_counter__omap_dm_timer_write_status
Any preferences on moving them to dmtimer.c or leaving them in header file?
Regards,
Keerthy
Quoted 12 lines
Quoted 4 lines
Again, we don't want driver code to start mis-using these as that's immediately going to be big mess out of control.
Sure.
Quoted 5 lines
Regards,
Tony
Tony Lindgren
maintainerPATCH v2 2/7 arm: omap: Move dmtimer.h out of plat-omap
Quoted 17 lines · Keerthy
Quoted 14 lines · Keerthy
Quoted 10 lines · Tony Lindgren
Quoted 4 lines · Keerthy
The header file is currently under plat-omap directory under
arch/omap. Move this out to an accessible place.No Code changes done to the header file.
Some of the dmtimer functions are in this header to optimize the size of the system timer code. Can you please check if some of them can be left out of
dmtimer.hand be made private tomach-omap1/timer.candmach-omap2/timer.c?
Quoted 8 lines
Quoted 1 line
Okay. I will try to clean that as well.
Tony,
Only function that i could push out of
dmtimer.hwas__omap_dm_timer_override_erratawhich is being currently called by
mach-omap2/timer.calone.
Hmm OK thanks for checking.
Quoted 13 lines
Rest all are used both my
dmtimer.cas well asmach-omap2/timer.c. Here is the list:
__omap_dm_timer_read__omap_dm_timer_write__omap_dm_timer_init_regs__omap_dm_timer_enable_posted__omap_dm_timer_stop__omap_dm_timer_load_start__omap_dm_timer_int_enable__omap_dm_timer_read_counter__omap_dm_timer_write_status
Quoted 1 line
Any preferences on moving them to
dmtimer.cor leaving them in header file?
How about we make the system timer functions and these header functions private to the dmtimer.c. Then we can have the SoC specific system timer functions be selected based on comaptible value like drivers typically do :)
I think only the SoC specific init code should be left in arch/arm/mach-omap[12]/timer.c.
Regards,
Tony
PATCH v2 2/7 arm: omap: Move dmtimer.h out of plat-omap
In reply to KeerthyHi,
Quoted 10 lines · Keerthy
The header file is currently under plat-omap directory under
arch/omap. Move this out to an accessible place.No Code changes done to the header file.
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
Thanks, this is much easier to review.
-- Sebastian
Quoted 204 lines
arch/arm/mach-omap1/pm.c | 2 +- arch/arm/mach-omap1/timer.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +- arch/arm/mach-omap2/pdata-quirks.c | 2 +- arch/arm/mach-omap2/timer.c | 2 +- arch/arm/plat-omap/dmtimer.c | 2 +- {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h | 0 14 files changed, 13 insertions(+), 13 deletions(-) rename {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h (100%)arch/arm/mach-omap1/pm.c +1
-1@@ -55,7 +55,7 @@#include <mach/tc.h> #include <mach/mux.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include <mach/irqs.h> arch/arm/mach-omap1/timer.c +1
-1@@ -27,7 +27,7 @@#include <linux/platform_device.h> #include <linux/platform_data/dmtimer-omap.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "soc.h" arch/arm/mach-omap2/omap_hwmod_2420_data.c +1
-1@@ -16,7 +16,7 @@#include <linux/i2c-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "l3_2xxx.h" arch/arm/mach-omap2/omap_hwmod_2430_data.c +1
-1@@ -18,7 +18,7 @@#include <linux/platform_data/hsmmc-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "l3_2xxx.h" arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +1
-1@@ -11,7 +11,7 @@#include <linux/platform_data/gpio-omap.h> #include <linux/omap-dma.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include "omap_hwmod.h" arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +1
-1@@ -25,7 +25,7 @@#include "l4_3xxx.h" #include <linux/platform_data/asoc-ti-mcbsp.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "soc.h" #include "omap_hwmod.h" arch/arm/mach-omap2/omap_hwmod_44xx_data.c +1
-1@@ -30,7 +30,7 @@#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "omap_hwmod_common_data.h" arch/arm/mach-omap2/omap_hwmod_54xx_data.c +1
-1@@ -26,7 +26,7 @@#include <linux/omap-dma.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "omap_hwmod_common_data.h" arch/arm/mach-omap2/omap_hwmod_7xx_data.c +1
-1@@ -26,7 +26,7 @@#include <linux/omap-dma.h> #include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod.h" #include "omap_hwmod_common_data.h" arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1
-1@@ -18,7 +18,7 @@#include <linux/platform_data/gpio-omap.h> #include <linux/platform_data/hsmmc-omap.h> #include <linux/platform_data/spi-omap2-mcspi.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "omap_hwmod_common_data.h" #include "cm81xx.h" arch/arm/mach-omap2/pdata-quirks.c +1
-1@@ -27,7 +27,7 @@#include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_data/media/ir-rx51.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> #include "common.h" #include "common-board-devices.h" arch/arm/mach-omap2/timer.c +1
-1@@ -26,6 +26,7 @@* License. See the file "COPYING" in the main directory of this archive * for more details. */ +#include <clocksource/dmtimer.h> #include <linux/init.h> #include <linux/time.h> #include <linux/interrupt.h> @@ -49,7 +50,6 @@#include "omap_hwmod.h" #include "omap_device.h" #include <plat/counter-32k.h> -#include <plat/dmtimer.h> #include "omap-pm.h" #include "soc.h" arch/arm/plat-omap/dmtimer.c +1
-1@@ -47,7 +47,7 @@#include <linux/platform_device.h> #include <linux/platform_data/dmtimer-omap.h> -#include <plat/dmtimer.h> +#include <clocksource/dmtimer.h> static u32 omap_reserved_systimers;static LIST_HEAD (omap_timer_list);include/clocksource/dmtimer.h renamed from arch/arm/plat-omap/include/plat/dmtimer.h +0
-0Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/25f1ef85/attachment-0001.sig>
PATCH v2 3/7 arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
In reply to KeerthyMove the dmtimer driver out of plat-omap to clocksource. So that non-omap devices also could use this.
No Code changes done to the driver file.
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
arch/arm/plat-omap/Kconfig | 6 ------
arch/arm/plat-omap/Makefile | 1 -
drivers/clocksource/Kconfig | 6 ++++++
drivers/clocksource/Makefile | 1 +
{arch/arm/plat-omap => drivers/clocksource}/dmtimer.c | 0
5 files changed, 7 insertions(+), 7 deletions(-)
rename {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c (100%)arch/arm/plat-omap/Kconfig +0 -6
@@ -105,12 +105,6 @@ config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID help PPA routine service ID for setting L2 auxiliary control register. -config OMAP_DM_TIMER - bool "Use dual-mode timer" - depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS - help - Select this option if you want to use OMAP Dual-Mode timers. - config OMAP_SERIAL_WAKE bool "Enable wake-up events for serial ports" depends on ARCH_OMAP1 && OMAP_MUX
arch/arm/plat-omap/Makefile +0 -1
@@ -9,5 +9,4 @@ obj-y := sram.o dma.o counter_32k.o # omap_device support (OMAP2+ only at the moment) -obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o
drivers/clocksource/Kconfig +6 -0
@@ -46,6 +46,12 @@ config DIGICOLOR_TIMER help Enables the support for the digicolor timer driver. +config OMAP_DM_TIMER + bool "Use dual-mode timer" + depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS + help + Select this option if you want to use Dual-Mode timers. + config DW_APB_TIMER bool "DW APB timer driver" if COMPILE_TEST help
drivers/clocksource/Makefile +1 -0
@@ -15,6 +15,7 @@ obj-$(CONFIG_EM_TIMER_STI) += em_sti.o obj-$(CONFIG_CLKBLD_I8253) += i8253.o obj-$(CONFIG_CLKSRC_MMIO) += mmio.o obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o +obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.o
drivers/clocksource/dmtimer.c renamed from arch/arm/plat-omap/dmtimer.c +0 -0
Signature · 1 line
1.9.1
PATCH v2 3/7 arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
Hi,
Quoted 10 lines · Keerthy
Move the dmtimer driver out of plat-omap to clocksource. So that non-omap devices also could use this.
No Code changes done to the driver file.
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
-- Sebastian
Quoted 75 lines
arch/arm/plat-omap/Kconfig | 6 ------ arch/arm/plat-omap/Makefile | 1 - drivers/clocksource/Kconfig | 6 ++++++ drivers/clocksource/Makefile | 1 + {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c | 0 5 files changed, 7 insertions(+), 7 deletions(-) rename {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c (100%)arch/arm/plat-omap/Kconfig +0
-6@@ -105,12 +105,6 @@ config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID help PPA routine service ID for setting L2 auxiliary control register. -config OMAP_DM_TIMER - bool "Use dual-mode timer" - depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS - help - Select this option if you want to use OMAP Dual-Mode timers. - config OMAP_SERIAL_WAKE bool "Enable wake-up events for serial ports" depends on ARCH_OMAP1 && OMAP_MUXarch/arm/plat-omap/Makefile +0
-1@@ -9,5 +9,4 @@ obj-y := sram.o dma.o counter_32k.o # omap_device support (OMAP2+ only at the moment) -obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.odrivers/clocksource/Kconfig +6
-0@@ -46,6 +46,12 @@ config DIGICOLOR_TIMER help Enables the support for the digicolor timer driver. +config OMAP_DM_TIMER + bool "Use dual-mode timer" + depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS + help + Select this option if you want to use Dual-Mode timers. + config DW_APB_TIMER bool "DW APB timer driver" if COMPILE_TEST helpdrivers/clocksource/Makefile +1
-0@@ -15,6 +15,7 @@ obj-$(CONFIG_EM_TIMER_STI) += em_sti.o obj-$(CONFIG_CLKBLD_I8253) += i8253.o obj-$(CONFIG_CLKSRC_MMIO) += mmio.o obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o +obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.odrivers/clocksource/dmtimer.c renamed from arch/arm/plat-omap/dmtimer.c +0
-0Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/1b998f1b/attachment.sig>
PATCH v2 4/7 dmtimer: Add timer ops to the platform data structure
In reply to KeerthyAdd timer ops to the platform data structure
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
include/linux/platform_data/dmtimer-omap.h | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)
include/linux/platform_data/dmtimer-omap.h +38 -0
@@ -20,12 +20,50 @@#ifndef __PLATFORM_DATA_DMTIMER_OMAP_H__#define __PLATFORM_DATA_DMTIMER_OMAP_H__ +struct omap_dm_timer_ops { +struct omap_dm_timer *(*request_by_node)(struct device_node *np); +struct omap_dm_timer *(*request_specific)(int timer_id); +struct omap_dm_timer *(*request)(void ); + +int (*free)(struct omap_dm_timer *timer); + +void (*enable)(struct omap_dm_timer *timer); +void (*disable)(struct omap_dm_timer *timer); + +int (*get_irq)(struct omap_dm_timer *timer); +int (*set_int_enable)(struct omap_dm_timer *timer, +unsigned int value); +int (*set_int_disable)(struct omap_dm_timer *timer,u32 mask); + +struct clk *(*get_fclk)(struct omap_dm_timer *timer); + +int (*start)(struct omap_dm_timer *timer); +int (*stop)(struct omap_dm_timer *timer); +int (*set_source)(struct omap_dm_timer *timer,int source); + +int (*set_load)(struct omap_dm_timer *timer,int autoreload, +unsigned int value); +int (*set_match)(struct omap_dm_timer *timer,int enable, +unsigned int match); +int (*set_pwm)(struct omap_dm_timer *timer,int def_on, +int toggle,int trigger); +int (*set_prescaler)(struct omap_dm_timer *timer,int prescaler); + +unsigned int (*read_counter)(struct omap_dm_timer *timer); +int (*write_counter)(struct omap_dm_timer *timer, +unsigned int value); +unsigned int (*read_status)(struct omap_dm_timer *timer); +int (*write_status)(struct omap_dm_timer *timer, +unsigned int value); +}; +struct dmtimer_platform_data {/* set_timer_src - Only used for OMAP1 devices */ int (*set_timer_src)(struct platform_device *pdev,int source);u32 timer_capability;u32 timer_errata;int (*get_context_loss_count)(struct device *); +struct omap_dm_timer_ops *timer_ops; };#endif /* __PLATFORM_DATA_DMTIMER_OMAP_H__ */
Signature · 1 line
1.9.1
PATCH v2 4/7 dmtimer: Add timer ops to the platform data structure
Hi,
Quoted 7 lines · Keerthy
Add timer ops to the platform data structure
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
I think the solution to provide private functions is not very nice, but it improves the current situation and does not touch any ABI (so can easily be changed later on), so:
-- Sebastian
Quoted 65 lines
include/linux/platform_data/dmtimer-omap.h | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)include/linux/platform_data/dmtimer-omap.h +38
-0@@ -20,12 +20,50 @@#ifndef __PLATFORM_DATA_DMTIMER_OMAP_H__#define __PLATFORM_DATA_DMTIMER_OMAP_H__ +struct omap_dm_timer_ops { +struct omap_dm_timer *(*request_by_node)(struct device_node *np); +struct omap_dm_timer *(*request_specific)(int timer_id); +struct omap_dm_timer *(*request)(void ); + +int (*free)(struct omap_dm_timer *timer); + +void (*enable)(struct omap_dm_timer *timer); +void (*disable)(struct omap_dm_timer *timer); + +int (*get_irq)(struct omap_dm_timer *timer); +int (*set_int_enable)(struct omap_dm_timer *timer, +unsigned int value); +int (*set_int_disable)(struct omap_dm_timer *timer,u32 mask); + +struct clk *(*get_fclk)(struct omap_dm_timer *timer); + +int (*start)(struct omap_dm_timer *timer); +int (*stop)(struct omap_dm_timer *timer); +int (*set_source)(struct omap_dm_timer *timer,int source); + +int (*set_load)(struct omap_dm_timer *timer,int autoreload, +unsigned int value); +int (*set_match)(struct omap_dm_timer *timer,int enable, +unsigned int match); +int (*set_pwm)(struct omap_dm_timer *timer,int def_on, +int toggle,int trigger); +int (*set_prescaler)(struct omap_dm_timer *timer,int prescaler); + +unsigned int (*read_counter)(struct omap_dm_timer *timer); +int (*write_counter)(struct omap_dm_timer *timer, +unsigned int value); +unsigned int (*read_status)(struct omap_dm_timer *timer); +int (*write_status)(struct omap_dm_timer *timer, +unsigned int value); +}; +struct dmtimer_platform_data {/* set_timer_src - Only used for OMAP1 devices */ int (*set_timer_src)(struct platform_device *pdev,int source);u32 timer_capability;u32 timer_errata;int (*get_context_loss_count)(struct device *); +struct omap_dm_timer_ops *timer_ops; };#endif /* __PLATFORM_DATA_DMTIMER_OMAP_H__ */ Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/bed1490d/attachment-0001.sig>
PATCH v2 5/7 clocksource: dmtimer: Populate the timer ops to the pdata
In reply to KeerthyAdd the timer ops to the platform data
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
drivers/clocksource/dmtimer.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
drivers/clocksource/dmtimer.c +25 -0
@@ -922,8 +922,33 @@ static int omap_dm_timer_remove(struct platform_device *pdev)return ret; } +static struct omap_dm_timer_ops dmtimer_ops = { + .request_by_node = omap_dm_timer_request_by_node, + .request_specific = omap_dm_timer_request_specific, + .request = omap_dm_timer_request, + .set_source = omap_dm_timer_set_source, + .get_irq = omap_dm_timer_get_irq, + .set_int_enable = omap_dm_timer_set_int_enable, + .set_int_disable = omap_dm_timer_set_int_disable, + .free = omap_dm_timer_free, + .enable = omap_dm_timer_enable, + .disable = omap_dm_timer_disable, + .get_fclk = omap_dm_timer_get_fclk, + .start = omap_dm_timer_start, + .stop = omap_dm_timer_stop, + .set_load = omap_dm_timer_set_load, + .set_match = omap_dm_timer_set_match, + .set_pwm = omap_dm_timer_set_pwm, + .set_prescaler = omap_dm_timer_set_prescaler, + .read_counter = omap_dm_timer_read_counter, + .write_counter = omap_dm_timer_write_counter, + .read_status = omap_dm_timer_read_status, + .write_status = omap_dm_timer_write_status, +}; +static const struct dmtimer_platform_data omap3plus_pdata = { .timer_errata =OMAP_TIMER_ERRATA_I103_I767 , + .timer_ops = &dmtimer_ops, };static const struct of_device_id omap_timer_match[] = {
Signature · 1 line
1.9.1
PATCH v2 5/7 clocksource: dmtimer: Populate the timer ops to the pdata
Hi,
Quoted 7 lines · Keerthy
Add the timer ops to the platform data
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
-- Sebastian
Quoted 48 lines
drivers/clocksource/dmtimer.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)drivers/clocksource/dmtimer.c +25
-0@@ -922,8 +922,33 @@ static int omap_dm_timer_remove(struct platform_device *pdev)return ret; } +static struct omap_dm_timer_ops dmtimer_ops = { + .request_by_node = omap_dm_timer_request_by_node, + .request_specific = omap_dm_timer_request_specific, + .request = omap_dm_timer_request, + .set_source = omap_dm_timer_set_source, + .get_irq = omap_dm_timer_get_irq, + .set_int_enable = omap_dm_timer_set_int_enable, + .set_int_disable = omap_dm_timer_set_int_disable, + .free = omap_dm_timer_free, + .enable = omap_dm_timer_enable, + .disable = omap_dm_timer_disable, + .get_fclk = omap_dm_timer_get_fclk, + .start = omap_dm_timer_start, + .stop = omap_dm_timer_stop, + .set_load = omap_dm_timer_set_load, + .set_match = omap_dm_timer_set_match, + .set_pwm = omap_dm_timer_set_pwm, + .set_prescaler = omap_dm_timer_set_prescaler, + .read_counter = omap_dm_timer_read_counter, + .write_counter = omap_dm_timer_write_counter, + .read_status = omap_dm_timer_read_status, + .write_status = omap_dm_timer_write_status, +}; +static const struct dmtimer_platform_data omap3plus_pdata = { .timer_errata =OMAP_TIMER_ERRATA_I103_I767 , + .timer_ops = &dmtimer_ops, };static const struct of_device_id omap_timer_match[] = {Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/0279db09/attachment.sig>
PATCH v2 6/7 pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
In reply to KeerthyAdapt driver to utilize dmtimer pdata ops instead of pdata-quirks.
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
drivers/pwm/pwm-omap-dmtimer.c | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-)
drivers/pwm/pwm-omap-dmtimer.c +22 -17
@@ -23,6 +23,7 @@#include <linux/mutex.h> #include <linux/of.h> #include <linux/of_platform.h> +#include <linux/platform_data/dmtimer-omap.h> #include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h>
@@ -37,7 +38,7 @@ struct pwm_omap_dmtimer_chip {struct pwm_chip chip;struct mutex mutex;pwm_omap_dmtimer *dm_timer; -struct pwm_omap_dmtimer_pdata *pdata; +struct omap_dm_timer_ops *pdata;struct platform_device *dm_timer_pdev; };
@@ -242,19 +243,33 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) {struct device_node *np = pdev->dev.of_node;struct device_node *timer; +struct platform_device *timer_pdev;struct pwm_omap_dmtimer_chip *omap; -struct pwm_omap_dmtimer_pdata *pdata; +struct dmtimer_platform_data *timer_pdata; +struct omap_dm_timer_ops *pdata;pwm_omap_dmtimer *dm_timer;u32 v;int status; - pdata =dev_get_platdata (&pdev->dev); -if (!pdata) { -dev_err (&pdev->dev,"Missing dmtimer platform data\n" ); + timer =of_parse_phandle (np,"ti,timers" ,0 ); +if (!timer) +return -ENODEV ; + + timer_pdev =of_find_device_by_node (timer); +if (!timer_pdev) { +dev_err (&pdev->dev,"Unable to find Timer pdev\n" ); +return -ENODEV ; + } + + timer_pdata =dev_get_platdata (&timer_pdev->dev); +if (!timer_pdata) { +dev_err (&pdev->dev,"dmtimer pdata structure NULL\n" );return -EINVAL ; } - if (!pdata->request_by_node || + pdata = timer_pdata->timer_ops; + + if (!pdata || !pdata->request_by_node || !pdata->free || !pdata->enable || !pdata->disable ||
@@ -270,10 +285,6 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)return -EINVAL ; } - timer =of_parse_phandle (np,"ti,timers" ,0 ); -if (!timer) -return -ENODEV ; -if (!of_get_property (timer,"ti,timer-pwm" ,NULL )) {dev_err (&pdev->dev,"Missing ti,timer-pwm capability\n" );return -ENODEV ;
@@ -291,13 +302,7 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) omap->pdata = pdata; omap->dm_timer = dm_timer; - - omap->dm_timer_pdev =of_find_device_by_node (timer); -if (!omap->dm_timer_pdev) { -dev_err (&pdev->dev,"Unable to find timer pdev\n" ); - omap->pdata->free (dm_timer); -return -EINVAL ; - } + omap->dm_timer_pdev = timer_pdev;/* * Ensure that the timer is stopped before we allow PWM core to call
Signature · 1 line
1.9.1
PATCH v2 6/7 pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
Hi,
Quoted 7 lines · Keerthy
Adapt driver to utilize dmtimer pdata ops instead of pdata-quirks.
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
-- Sebastian
Quoted 96 lines
drivers/pwm/pwm-omap-dmtimer.c | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-)drivers/pwm/pwm-omap-dmtimer.c +22
-17@@ -23,6 +23,7 @@#include <linux/mutex.h> #include <linux/of.h> #include <linux/of_platform.h> +#include <linux/platform_data/dmtimer-omap.h> #include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> @@ -37,7 +38,7 @@ struct pwm_omap_dmtimer_chip {struct pwm_chip chip;struct mutex mutex;pwm_omap_dmtimer *dm_timer; -struct pwm_omap_dmtimer_pdata *pdata; +struct omap_dm_timer_ops *pdata;struct platform_device *dm_timer_pdev; };@@ -242,19 +243,33 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) {struct device_node *np = pdev->dev.of_node;struct device_node *timer; +struct platform_device *timer_pdev;struct pwm_omap_dmtimer_chip *omap; -struct pwm_omap_dmtimer_pdata *pdata; +struct dmtimer_platform_data *timer_pdata; +struct omap_dm_timer_ops *pdata;pwm_omap_dmtimer *dm_timer;u32 v;int status; - pdata =dev_get_platdata (&pdev->dev); -if (!pdata) { -dev_err (&pdev->dev,"Missing dmtimer platform data\n" ); + timer =of_parse_phandle (np,"ti,timers" ,0 ); +if (!timer) +return -ENODEV ; + + timer_pdev =of_find_device_by_node (timer); +if (!timer_pdev) { +dev_err (&pdev->dev,"Unable to find Timer pdev\n" ); +return -ENODEV ; + } + + timer_pdata =dev_get_platdata (&timer_pdev->dev); +if (!timer_pdata) { +dev_err (&pdev->dev,"dmtimer pdata structure NULL\n" );return -EINVAL ; } - if (!pdata->request_by_node || + pdata = timer_pdata->timer_ops; + + if (!pdata || !pdata->request_by_node || !pdata->free || !pdata->enable || !pdata->disable ||@@ -270,10 +285,6 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)return -EINVAL ; } - timer =of_parse_phandle (np,"ti,timers" ,0 ); -if (!timer) -return -ENODEV ; -if (!of_get_property (timer,"ti,timer-pwm" ,NULL )) {dev_err (&pdev->dev,"Missing ti,timer-pwm capability\n" );return -ENODEV ;@@ -291,13 +302,7 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) omap->pdata = pdata; omap->dm_timer = dm_timer; - - omap->dm_timer_pdev =of_find_device_by_node (timer); -if (!omap->dm_timer_pdev) { -dev_err (&pdev->dev,"Unable to find timer pdev\n" ); - omap->pdata->free (dm_timer); -return -EINVAL ; - } + omap->dm_timer_pdev = timer_pdev;/* * Ensure that the timer is stopped before we allow PWM core to call Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/9a852f43/attachment.sig>
PATCH v2 6/7 pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
In reply to KeerthyQuoted 53 lines · Keerthy
Adapt driver to utilize dmtimer pdata ops instead of pdata-quirks.
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
drivers/pwm/pwm-omap-dmtimer.c | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-)drivers/pwm/pwm-omap-dmtimer.c +10
-5@@ -23,6 +23,7 @@#include <linux/mutex.h> #include <linux/of.h> #include <linux/of_platform.h> +#include <linux/platform_data/dmtimer-omap.h> #include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> @@ -37,7 +38,7 @@ struct pwm_omap_dmtimer_chip {struct pwm_chip chip;struct mutex mutex;pwm_omap_dmtimer *dm_timer; -struct pwm_omap_dmtimer_pdata *pdata; +struct omap_dm_timer_ops *pdata;struct platform_device *dm_timer_pdev; };@@ -242,19 +243,33 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) {struct device_node *np = pdev->dev.of_node;struct device_node *timer; +struct platform_device *timer_pdev;struct pwm_omap_dmtimer_chip *omap; -struct pwm_omap_dmtimer_pdata *pdata; +struct dmtimer_platform_data *timer_pdata; +struct omap_dm_timer_ops *pdata;pwm_omap_dmtimer *dm_timer;u32 v;int status; - pdata =dev_get_platdata (&pdev->dev); -if (!pdata) { -dev_err (&pdev->dev,"Missing dmtimer platform data\n" ); + timer =of_parse_phandle (np,"ti,timers" ,0 ); +if (!timer) +return -ENODEV ; + + timer_pdev =of_find_device_by_node (timer);
drivers/pwm/pwm-omap-dmtimer.c static int pwm_omap_dmtimer_probe(struct platform_device *pdev) · line 268
Quoted 10 lines
drivers/pwm/pwm-omap-dmtimer.c +8
-0+if (!timer_pdev) { +dev_err (&pdev->dev,"Unable to find Timer pdev\n" ); +return -ENODEV ; + } + + timer_pdata =dev_get_platdata (&timer_pdev->dev); +if (!timer_pdata) { +dev_err (&pdev->dev,"dmtimer pdata structure NULL\n" );return -EINVAL ; }
I really do not like above code :( It seems need to be hidden inside some OF helper.
Quoted 35 lines
drivers/pwm/pwm-omap-dmtimer.c +4
-12- if (!pdata->request_by_node || + pdata = timer_pdata->timer_ops; + + if (!pdata || !pdata->request_by_node || !pdata->free || !pdata->enable || !pdata->disable ||@@ -270,10 +285,6 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)return -EINVAL ; } - timer =of_parse_phandle (np,"ti,timers" ,0 ); -if (!timer) -return -ENODEV ; -if (!of_get_property (timer,"ti,timer-pwm" ,NULL )) {dev_err (&pdev->dev,"Missing ti,timer-pwm capability\n" );return -ENODEV ;@@ -291,13 +302,7 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) omap->pdata = pdata; omap->dm_timer = dm_timer; - - omap->dm_timer_pdev =of_find_device_by_node (timer); -if (!omap->dm_timer_pdev) { -dev_err (&pdev->dev,"Unable to find timer pdev\n" ); - omap->pdata->free (dm_timer); -return -EINVAL ; - } + omap->dm_timer_pdev = timer_pdev;/* * Ensure that the timer is stopped before we allow PWM core to call
Signature · 2 lines
regards, -grygorii
PATCH v2 7/7 arm: omap: pdata-quirks: Remove unused timer pdata
In reply to KeerthyRemove unused timer pdata.
---
No code changes in this v2 version. Only enhanced patch statistics for renames.
arch/arm/mach-omap2/pdata-quirks.c | 32 -------------------------------- 1 file changed, 32 deletions(-)
arch/arm/mach-omap2/pdata-quirks.c +0 -32
@@ -24,10 +24,8 @@#include <linux/platform_data/hsmmc-omap.h> #include <linux/platform_data/iommu-omap.h> #include <linux/platform_data/wkup_m3.h> -#include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_data/media/ir-rx51.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <clocksource/dmtimer.h> #include "common.h" #include "common-board-devices.h"
@@ -477,33 +475,6 @@ void omap_auxdata_legacy_init(struct device *dev) dev->platform_data = &twl_gpio_auxdata; } -/* Dual mode timer PWM callbacks platdata */ -#if IS_ENABLED (CONFIG_OMAP_DM_TIMER ) -static struct pwm_omap_dmtimer_pdata pwm_dmtimer_pdata = { - .request_by_node = omap_dm_timer_request_by_node, - .request_specific = omap_dm_timer_request_specific, - .request = omap_dm_timer_request, - .set_source = omap_dm_timer_set_source, - .get_irq = omap_dm_timer_get_irq, - .set_int_enable = omap_dm_timer_set_int_enable, - .set_int_disable = omap_dm_timer_set_int_disable, - .free = omap_dm_timer_free, - .enable = omap_dm_timer_enable, - .disable = omap_dm_timer_disable, - .get_fclk = omap_dm_timer_get_fclk, - .start = omap_dm_timer_start, - .stop = omap_dm_timer_stop, - .set_load = omap_dm_timer_set_load, - .set_match = omap_dm_timer_set_match, - .set_pwm = omap_dm_timer_set_pwm, - .set_prescaler = omap_dm_timer_set_prescaler, - .read_counter = omap_dm_timer_read_counter, - .write_counter = omap_dm_timer_write_counter, - .read_status = omap_dm_timer_read_status, - .write_status = omap_dm_timer_write_status, -}; -#endif -static struct ir_rx51_platform_data __maybe_unused rx51_ir_data = { .set_max_mpu_wakeup_lat = omap_pm_set_max_mpu_wakeup_lat, };
@@ -572,9 +543,6 @@ static void __init omap3_mcbsp_init(void) {} OF_DEV_AUXDATA("ti,am4372-wkup-m3", 0x44d00000, "44d00000.wkup_m3", &wkup_m3_data),#endif -#if IS_ENABLED (CONFIG_OMAP_DM_TIMER ) - OF_DEV_AUXDATA("ti,omap-dmtimer-pwm", 0, NULL, &pwm_dmtimer_pdata), -#endif #if defined(CONFIG_ARCH_OMAP4 ) || defined(CONFIG_SOC_OMAP5 )OF_DEV_AUXDATA ("ti,omap4-iommu" ,0x4a066000 ,"4a066000.mmu" , &omap4_iommu_pdata),
Signature · 1 line
1.9.1
PATCH v2 7/7 arm: omap: pdata-quirks: Remove unused timer pdata
Hi,
Quoted 7 lines · Keerthy
Remove unused timer pdata.
Signed-off-by Keerthy <[email protected]>---
No code changes in this v2 version. Only enhanced patch statistics for renames.
-- Sebastian
Quoted 69 lines
arch/arm/mach-omap2/pdata-quirks.c | 32 -------------------------------- 1 file changed, 32 deletions(-)arch/arm/mach-omap2/pdata-quirks.c +0
-32@@ -24,10 +24,8 @@#include <linux/platform_data/hsmmc-omap.h> #include <linux/platform_data/iommu-omap.h> #include <linux/platform_data/wkup_m3.h> -#include <linux/platform_data/pwm_omap_dmtimer.h> #include <linux/platform_data/media/ir-rx51.h> #include <linux/platform_data/asoc-ti-mcbsp.h> -#include <clocksource/dmtimer.h> #include "common.h" #include "common-board-devices.h" @@ -477,33 +475,6 @@ void omap_auxdata_legacy_init(struct device *dev) dev->platform_data = &twl_gpio_auxdata; } -/* Dual mode timer PWM callbacks platdata */ -#if IS_ENABLED (CONFIG_OMAP_DM_TIMER ) -static struct pwm_omap_dmtimer_pdata pwm_dmtimer_pdata = { - .request_by_node = omap_dm_timer_request_by_node, - .request_specific = omap_dm_timer_request_specific, - .request = omap_dm_timer_request, - .set_source = omap_dm_timer_set_source, - .get_irq = omap_dm_timer_get_irq, - .set_int_enable = omap_dm_timer_set_int_enable, - .set_int_disable = omap_dm_timer_set_int_disable, - .free = omap_dm_timer_free, - .enable = omap_dm_timer_enable, - .disable = omap_dm_timer_disable, - .get_fclk = omap_dm_timer_get_fclk, - .start = omap_dm_timer_start, - .stop = omap_dm_timer_stop, - .set_load = omap_dm_timer_set_load, - .set_match = omap_dm_timer_set_match, - .set_pwm = omap_dm_timer_set_pwm, - .set_prescaler = omap_dm_timer_set_prescaler, - .read_counter = omap_dm_timer_read_counter, - .write_counter = omap_dm_timer_write_counter, - .read_status = omap_dm_timer_read_status, - .write_status = omap_dm_timer_write_status, -}; -#endif -static struct ir_rx51_platform_data __maybe_unused rx51_ir_data = { .set_max_mpu_wakeup_lat = omap_pm_set_max_mpu_wakeup_lat, };@@ -572,9 +543,6 @@ static void __init omap3_mcbsp_init(void) {} OF_DEV_AUXDATA("ti,am4372-wkup-m3", 0x44d00000, "44d00000.wkup_m3", &wkup_m3_data),#endif -#if IS_ENABLED (CONFIG_OMAP_DM_TIMER ) - OF_DEV_AUXDATA("ti,omap-dmtimer-pwm", 0, NULL, &pwm_dmtimer_pdata), -#endif #if defined(CONFIG_ARCH_OMAP4 ) || defined(CONFIG_SOC_OMAP5 )OF_DEV_AUXDATA ("ti,omap4-iommu" ,0x4a066000 ,"4a066000.mmu" , &omap4_iommu_pdata),Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171109/71320ddc/attachment.sig>
v2 cover omap: dmtimer: Move driver out of plat-omap
In reply to KeerthyQuoted 6 lines · Keerthy
The series moves dmtimer out of plat-omap to
drivers/clocksource. The series also does a bunch of changes to pwm-omap-dmtimer code to adapt to the driver migration and clean up plat specific pdata-quirks and use the dmtimer platform data.Boot tested on DRA7-EVM and AM437X-GP-EVM.
Boot tested on IGEPv2 with DM3730 and OMAP3530
Quoted 4 lines
More testing would be of great help.
No code changes in this v2 version. Only enhanced patch statistics for renames.
Btw, what are these pathes against. Here's how it ends against 4.14-rc8:
Applying: clocksource: dmtimer: Remove all the exports
Applying: arm: omap: Move dmtimer.h out of plat-omap
Applying: arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
error: patch failed: drivers/clocksource/Kconfig:46
error: drivers/clocksource/Kconfig: patch does not apply
Patch failed at 0003 arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
Test above was using your first serie which I manually fixed to apply. Given the fact there is no code change, I will not do this again :-) (and I'm happy someone is cleaning dm timer code, thank you)
ladis
Quoted 41 lines
Keerthy (7):
clocksource: dmtimer: Remove all the exports
arm: omap: Movedmtimer.hout of plat-omap
arm: OMAP: Move dmtimer driver out of plat-omap to drivers under
clocksource
dmtimer: Add timer ops to the platform data structure
clocksource: dmtimer: Populate the timer ops to the pdata
pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
arm: omap: pdata-quirks: Remove unused timer pdataarch/arm/mach-omap1/pm.c | 2 +- arch/arm/mach-omap1/timer.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +- arch/arm/mach-omap2/pdata-quirks.c | 32 ------------- arch/arm/mach-omap2/timer.c | 2 +- arch/arm/plat-omap/Kconfig | 6 --- arch/arm/plat-omap/Makefile | 1 - drivers/clocksource/Kconfig | 6 +++ drivers/clocksource/Makefile | 1 + .../plat-omap => drivers/clocksource}/dmtimer.c | 54 +++++++++++----------- drivers/pwm/pwm-omap-dmtimer.c | 39 +++++++++------- .../include/plat => include/clocksource}/dmtimer.h | 0 include/linux/platform_data/dmtimer-omap.h | 38 +++++++++++++++ 20 files changed, 104 insertions(+), 95 deletions(-) rename {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c (95%) rename {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h (100%)Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
v2 cover omap: dmtimer: Move driver out of plat-omap
Quoted 10 lines · Ladislav Michl
Quoted 6 lines · Keerthy
The series moves dmtimer out of plat-omap to
drivers/clocksource. The series also does a bunch of changes to pwm-omap-dmtimer code to adapt to the driver migration and clean up plat specific pdata-quirks and use the dmtimer platform data.Boot tested on DRA7-EVM and AM437X-GP-EVM.
Boot tested on IGEPv2 with DM3730 and OMAP3530
Tested-by Ladislav Michl <[email protected]>
Thanks for Testing :-).
Quoted 14 lines
Quoted 5 lines
More testing would be of great help.
No code changes in this v2 version. Only enhanced patch statistics for renames.
Btw, what are these pathes against. Here's how it ends against 4.14-rc8:
Applying: clocksource: dmtimer: Remove all the exports
Applying: arm: omap: Movedmtimer.hout of plat-omap
Applying: arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
error: patch failed:drivers/clocksource/Kconfig:46
error:drivers/clocksource/Kconfig: patch does not apply
Patch failed at 0003 arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
Quoted 3 lines
Test above was using your first serie which I manually fixed to apply. Given the fact there is no code change, I will not do this again :-) (and I'm happy someone is cleaning dm timer code, thank you)
I had rebased to latest next branch. Not sure what went wrong there. Let me check myself.
I will rebase with all other comments fixed to the next branch and post v3.
Thanks Ladis.
Quoted 44 lines
ladis
Quoted 41 lines
Keerthy (7):
clocksource: dmtimer: Remove all the exports
arm: omap: Movedmtimer.hout of plat-omap
arm: OMAP: Move dmtimer driver out of plat-omap to drivers under
clocksource
dmtimer: Add timer ops to the platform data structure
clocksource: dmtimer: Populate the timer ops to the pdata
pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
arm: omap: pdata-quirks: Remove unused timer pdataarch/arm/mach-omap1/pm.c | 2 +- arch/arm/mach-omap1/timer.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +- arch/arm/mach-omap2/pdata-quirks.c | 32 ------------- arch/arm/mach-omap2/timer.c | 2 +- arch/arm/plat-omap/Kconfig | 6 --- arch/arm/plat-omap/Makefile | 1 - drivers/clocksource/Kconfig | 6 +++ drivers/clocksource/Makefile | 1 + .../plat-omap => drivers/clocksource}/dmtimer.c | 54 +++++++++++----------- drivers/pwm/pwm-omap-dmtimer.c | 39 +++++++++------- .../include/plat => include/clocksource}/dmtimer.h | 0 include/linux/platform_data/dmtimer-omap.h | 38 +++++++++++++++ 20 files changed, 104 insertions(+), 95 deletions(-) rename {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c (95%) rename {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h (100%)Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
v2 cover omap: dmtimer: Move driver out of plat-omap
Quoted 30 lines · Keerthy
Quoted 10 lines · Ladislav Michl
Quoted 6 lines · Keerthy
The series moves dmtimer out of plat-omap to
drivers/clocksource. The series also does a bunch of changes to pwm-omap-dmtimer code to adapt to the driver migration and clean up plat specific pdata-quirks and use the dmtimer platform data.Boot tested on DRA7-EVM and AM437X-GP-EVM.
Boot tested on IGEPv2 with DM3730 and OMAP3530
Tested-by Ladislav Michl <[email protected]>Thanks for Testing :-).
Quoted 14 lines
Quoted 5 lines
More testing would be of great help.
No code changes in this v2 version. Only enhanced patch statistics for renames.
Btw, what are these pathes against. Here's how it ends against 4.14-rc8:
Applying: clocksource: dmtimer: Remove all the exports
Applying: arm: omap: Movedmtimer.hout of plat-omap
Applying: arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
error: patch failed:drivers/clocksource/Kconfig:46
error:drivers/clocksource/Kconfig: patch does not apply
Patch failed at 0003 arm: OMAP: Move dmtimer driver out of plat-omap to drivers under clocksource
Quoted 6 lines
Quoted 3 lines
Test above was using your first serie which I manually fixed to apply. Given the fact there is no code change, I will not do this again :-) (and I'm happy someone is cleaning dm timer code, thank you)
I had rebased to latest next branch. Not sure what went wrong there. Let me check myself.
Ladis,
I got the same error as you have got against 4.14-rc8.
I should have mentioned in the series these patches are against the latest next branch.
They apply cleanly against Latest next branch.
Thanks,
Keerthy
Quoted 54 lines
I will rebase with all other comments fixed to the next branch and post v3.
Thanks Ladis.
Quoted 44 lines
ladis
Quoted 41 lines
Keerthy (7):
clocksource: dmtimer: Remove all the exports
arm: omap: Movedmtimer.hout of plat-omap
arm: OMAP: Move dmtimer driver out of plat-omap to drivers under
clocksource
dmtimer: Add timer ops to the platform data structure
clocksource: dmtimer: Populate the timer ops to the pdata
pwm: pwm-omap-dmtimer: Adapt driver to utilize dmtimer pdata ops
arm: omap: pdata-quirks: Remove unused timer pdataarch/arm/mach-omap1/pm.c | 2 +- arch/arm/mach-omap1/timer.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 +- arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +- arch/arm/mach-omap2/pdata-quirks.c | 32 ------------- arch/arm/mach-omap2/timer.c | 2 +- arch/arm/plat-omap/Kconfig | 6 --- arch/arm/plat-omap/Makefile | 1 - drivers/clocksource/Kconfig | 6 +++ drivers/clocksource/Makefile | 1 + .../plat-omap => drivers/clocksource}/dmtimer.c | 54 +++++++++++----------- drivers/pwm/pwm-omap-dmtimer.c | 39 +++++++++------- .../include/plat => include/clocksource}/dmtimer.h | 0 include/linux/platform_data/dmtimer-omap.h | 38 +++++++++++++++ 20 files changed, 104 insertions(+), 95 deletions(-) rename {arch/arm/plat-omap => drivers/clocksource}/dmtimer.c (95%) rename {arch/arm/plat-omap/include/plat => include/clocksource}/dmtimer.h (100%)Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Tony Lindgren
maintainerv2 cover omap: dmtimer: Move driver out of plat-omap
In reply to KeerthyQuoted 11 lines · Keerthy
The series moves dmtimer out of plat-omap to
drivers/clocksource. The series also does a bunch of changes to pwm-omap-dmtimer code to adapt to the driver migration and clean up plat specific pdata-quirks and use the dmtimer platform data.Boot tested on DRA7-EVM and AM437X-GP-EVM.
More testing would be of great help.
No code changes in this v2 version. Only enhanced patch statistics for renames.
OK Cool.
Thierry, can you please take a look at the driver code and see if you want other clean-ups done before moving this to drivers?
For merging, I can set up an immutable branch for this against v4.15-rc1 when it's out and no more comments. That way we both can then merge it in as needed.
Regards,
Tony