From: Joel Fernandes <joelf@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, benoit.cousson@linaro.org,
santosh.shilimkar@ti.com, jgchunter@gmail.com, rnayak@ti.com,
balbi@ti.com
Subject: Re: [PATCH 1/8] ARM: OMAP: Move public portion of dmtimer.h to include/linux/omap-timer.h
Date: Fri, 22 Nov 2013 10:01:41 -0600 [thread overview]
Message-ID: <528F7FE5.3020908@ti.com> (raw)
In-Reply-To: <20131122153334.GE10023@atomide.com>
On 11/22/2013 09:33 AM, Tony Lindgren wrote:
> Hi,
>
> * Joel Fernandes <joelf@ti.com> [131121 18:00]:
>> Multiplatform support has made arch/arm/plat-omap/include/plat/ inaccessible to
>> drivers outside the plat-omap directory [1]. Due to this the following drivers
>> are disabled with !CONFIG_ARCH_MULTIPLATFORM:
>> CONFIG_IR_RX51 (drivers/media/rc/ir-rx51.c)
>> CONFIG_TIDSPBRIDGE (drivers/staging/tidspbridge/core/dsp-clock.c)
>>
>> We move the portion of the dmtimer "API" that should be accessible to the
>> drivers, into include/linux/omap-timer.h
>
> As we chatted earlier, we don't have to expose all these hardware specific
> functions and use existing Linux generic frameworks instead.
>
> We can implement an irqchip and a clocksource in the dmtimer code for the
> client drivers to use, and after that we only have a couple of dmtimer
> specific functions left to export.
>
> I'm thinkging some thing like this for the public API:
>
> omap_dm_timer_request request_irq
> omap_dm_timer_request_specific request_irq
> omap_dm_timer_get_irq request_irq
> omap_dm_timer_set_source clk_set_rate
> omap_dm_timer_stop disable_irq
> omap_dm_timer_start enable_irq
> omap_dm_timer_disable disable_irq
> omap_dm_timer_free free_irq
> omap_dm_timer_set_int_enable enable_irq
Hi Tony,
The thing I feel we're trying to fit a square peg into round hole type of thing
here.
Some reasons I feel this is overkill (point 2 makes it even not possible):
1. Ideally IR_RX51 should be using clockevents/hrtimer framework instead of
irqchip. Other than that, dsp bridge is the only other user.
2. These functions will be also be required to be public once mach-omap2/timer.c
moves to drivers/clocksource/ . At such an early point of code, we can't use
irqchip anyway so we'd need these functions public.
3. This is a minor point, but its also not immediately intuitive or clear to
someone who needs a dedicated hardware timer that they need to use an IRQ chip
driver for the same. But we can avoid any discussion about this till we can
discuss/agree on the above 2.
thanks,
-Joel
WARNING: multiple messages have this Message-ID (diff)
From: joelf@ti.com (Joel Fernandes)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/8] ARM: OMAP: Move public portion of dmtimer.h to include/linux/omap-timer.h
Date: Fri, 22 Nov 2013 10:01:41 -0600 [thread overview]
Message-ID: <528F7FE5.3020908@ti.com> (raw)
In-Reply-To: <20131122153334.GE10023@atomide.com>
On 11/22/2013 09:33 AM, Tony Lindgren wrote:
> Hi,
>
> * Joel Fernandes <joelf@ti.com> [131121 18:00]:
>> Multiplatform support has made arch/arm/plat-omap/include/plat/ inaccessible to
>> drivers outside the plat-omap directory [1]. Due to this the following drivers
>> are disabled with !CONFIG_ARCH_MULTIPLATFORM:
>> CONFIG_IR_RX51 (drivers/media/rc/ir-rx51.c)
>> CONFIG_TIDSPBRIDGE (drivers/staging/tidspbridge/core/dsp-clock.c)
>>
>> We move the portion of the dmtimer "API" that should be accessible to the
>> drivers, into include/linux/omap-timer.h
>
> As we chatted earlier, we don't have to expose all these hardware specific
> functions and use existing Linux generic frameworks instead.
>
> We can implement an irqchip and a clocksource in the dmtimer code for the
> client drivers to use, and after that we only have a couple of dmtimer
> specific functions left to export.
>
> I'm thinkging some thing like this for the public API:
>
> omap_dm_timer_request request_irq
> omap_dm_timer_request_specific request_irq
> omap_dm_timer_get_irq request_irq
> omap_dm_timer_set_source clk_set_rate
> omap_dm_timer_stop disable_irq
> omap_dm_timer_start enable_irq
> omap_dm_timer_disable disable_irq
> omap_dm_timer_free free_irq
> omap_dm_timer_set_int_enable enable_irq
Hi Tony,
The thing I feel we're trying to fit a square peg into round hole type of thing
here.
Some reasons I feel this is overkill (point 2 makes it even not possible):
1. Ideally IR_RX51 should be using clockevents/hrtimer framework instead of
irqchip. Other than that, dsp bridge is the only other user.
2. These functions will be also be required to be public once mach-omap2/timer.c
moves to drivers/clocksource/ . At such an early point of code, we can't use
irqchip anyway so we'd need these functions public.
3. This is a minor point, but its also not immediately intuitive or clear to
someone who needs a dedicated hardware timer that they need to use an IRQ chip
driver for the same. But we can avoid any discussion about this till we can
discuss/agree on the above 2.
thanks,
-Joel
WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joelf@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: <linux-omap@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <benoit.cousson@linaro.org>,
<santosh.shilimkar@ti.com>, <jgchunter@gmail.com>,
<rnayak@ti.com>, <balbi@ti.com>
Subject: Re: [PATCH 1/8] ARM: OMAP: Move public portion of dmtimer.h to include/linux/omap-timer.h
Date: Fri, 22 Nov 2013 10:01:41 -0600 [thread overview]
Message-ID: <528F7FE5.3020908@ti.com> (raw)
In-Reply-To: <20131122153334.GE10023@atomide.com>
On 11/22/2013 09:33 AM, Tony Lindgren wrote:
> Hi,
>
> * Joel Fernandes <joelf@ti.com> [131121 18:00]:
>> Multiplatform support has made arch/arm/plat-omap/include/plat/ inaccessible to
>> drivers outside the plat-omap directory [1]. Due to this the following drivers
>> are disabled with !CONFIG_ARCH_MULTIPLATFORM:
>> CONFIG_IR_RX51 (drivers/media/rc/ir-rx51.c)
>> CONFIG_TIDSPBRIDGE (drivers/staging/tidspbridge/core/dsp-clock.c)
>>
>> We move the portion of the dmtimer "API" that should be accessible to the
>> drivers, into include/linux/omap-timer.h
>
> As we chatted earlier, we don't have to expose all these hardware specific
> functions and use existing Linux generic frameworks instead.
>
> We can implement an irqchip and a clocksource in the dmtimer code for the
> client drivers to use, and after that we only have a couple of dmtimer
> specific functions left to export.
>
> I'm thinkging some thing like this for the public API:
>
> omap_dm_timer_request request_irq
> omap_dm_timer_request_specific request_irq
> omap_dm_timer_get_irq request_irq
> omap_dm_timer_set_source clk_set_rate
> omap_dm_timer_stop disable_irq
> omap_dm_timer_start enable_irq
> omap_dm_timer_disable disable_irq
> omap_dm_timer_free free_irq
> omap_dm_timer_set_int_enable enable_irq
Hi Tony,
The thing I feel we're trying to fit a square peg into round hole type of thing
here.
Some reasons I feel this is overkill (point 2 makes it even not possible):
1. Ideally IR_RX51 should be using clockevents/hrtimer framework instead of
irqchip. Other than that, dsp bridge is the only other user.
2. These functions will be also be required to be public once mach-omap2/timer.c
moves to drivers/clocksource/ . At such an early point of code, we can't use
irqchip anyway so we'd need these functions public.
3. This is a minor point, but its also not immediately intuitive or clear to
someone who needs a dedicated hardware timer that they need to use an IRQ chip
driver for the same. But we can avoid any discussion about this till we can
discuss/agree on the above 2.
thanks,
-Joel
next prev parent reply other threads:[~2013-11-22 16:01 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-22 1:56 [PATCH 0/8] OMAP: timers: Preparation for migration to clocksource Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` [PATCH 1/8] ARM: OMAP: Move public portion of dmtimer.h to include/linux/omap-timer.h Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 15:33 ` Tony Lindgren
2013-11-22 15:33 ` Tony Lindgren
2013-11-22 16:01 ` Joel Fernandes [this message]
2013-11-22 16:01 ` Joel Fernandes
2013-11-22 16:01 ` Joel Fernandes
2013-11-26 3:02 ` Joel Fernandes
2013-11-26 3:02 ` Joel Fernandes
2013-11-26 3:02 ` Joel Fernandes
2013-11-26 18:29 ` Tony Lindgren
2013-11-26 18:29 ` Tony Lindgren
2013-11-26 19:52 ` Joel Fernandes
2013-11-26 19:52 ` Joel Fernandes
2013-11-26 19:52 ` Joel Fernandes
2013-11-26 20:32 ` Tony Lindgren
2013-11-26 20:32 ` Tony Lindgren
2013-11-22 1:56 ` [PATCH 2/8] rc: ir-rx51: Use clk API to get clock rate Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` [PATCH 3/8] rc: ir-rx51: Turn ON ir-rx51 as it should work for MULTIPLATFORM Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` [PATCH 4/8] ARM: OMAP4: timer: Remove non-DT code for TWD timer Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` [PATCH 5/8] ARM: OMAP2+: timer: Introduce OF-friendly clocksource/clockevent system timers Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 3:51 ` Felipe Balbi
2013-11-22 3:51 ` Felipe Balbi
2013-11-22 3:51 ` Felipe Balbi
2013-11-22 15:09 ` Joel Fernandes
2013-11-22 15:09 ` Joel Fernandes
2013-11-22 15:09 ` Joel Fernandes
2013-11-22 15:58 ` Rob Herring
2013-11-22 15:58 ` Rob Herring
2013-11-22 16:42 ` Joel Fernandes
2013-11-22 16:42 ` Joel Fernandes
2013-11-22 16:42 ` Joel Fernandes
2013-11-22 20:01 ` Rob Herring
2013-11-22 20:01 ` Rob Herring
2013-11-23 1:12 ` Joel Fernandes
2013-11-23 1:12 ` Joel Fernandes
2013-11-23 1:12 ` Joel Fernandes
2013-11-23 1:22 ` Joel Fernandes
2013-11-23 1:22 ` Joel Fernandes
2013-11-23 1:22 ` Joel Fernandes
2013-11-23 16:26 ` Rob Herring
2013-11-23 16:26 ` Rob Herring
2013-11-22 1:56 ` [PATCH 6/8] devicetree: doc: Document ti,timer-parent property Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 15:58 ` Tony Lindgren
2013-11-22 15:58 ` Tony Lindgren
2013-11-22 16:36 ` Joel Fernandes
2013-11-22 16:36 ` Joel Fernandes
2013-11-22 16:36 ` Joel Fernandes
2013-11-22 17:08 ` Tony Lindgren
2013-11-22 17:08 ` Tony Lindgren
2013-11-23 0:31 ` Joel Fernandes
2013-11-23 0:31 ` Joel Fernandes
2013-11-23 0:31 ` Joel Fernandes
2013-11-23 0:52 ` Tony Lindgren
2013-11-23 0:52 ` Tony Lindgren
2013-11-22 17:05 ` Joel Fernandes
2013-11-22 17:05 ` Joel Fernandes
2013-11-22 17:05 ` Joel Fernandes
2013-11-22 17:11 ` Tony Lindgren
2013-11-22 17:11 ` Tony Lindgren
2013-11-22 1:56 ` [PATCH 7/8] ARM: DTS: am33xx: Provide the " Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` [PATCH 8/8] ARM: AM33xx: Move to using omap_generic_timer_init for init_time Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
2013-11-22 1:56 ` Joel Fernandes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=528F7FE5.3020908@ti.com \
--to=joelf@ti.com \
--cc=balbi@ti.com \
--cc=benoit.cousson@linaro.org \
--cc=jgchunter@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=rnayak@ti.com \
--cc=santosh.shilimkar@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.