[U-Boot] [PATCH 07/16] timer: Support tracing fully
Simon Glass
sjg at chromium.org
Tue Feb 23 07:37:50 CET 2016
Hi Bin,
On 16 February 2016 at 02:21, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Mon, Feb 15, 2016 at 9:36 AM, Simon Glass <sjg at chromium.org> wrote:
>> A few of the functions in the timer uclass are not marked with 'notrace'. Fix
>> this so that tracing can be used with CONFIG_TRACE.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> drivers/timer/timer-uclass.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c
>> index 83d1a35..382c0f2 100644
>> --- a/drivers/timer/timer-uclass.c
>> +++ b/drivers/timer/timer-uclass.c
>> @@ -22,7 +22,7 @@ DECLARE_GLOBAL_DATA_PTR;
>> * tick, and no timer interrupt.
>> */
>>
>> -int timer_get_count(struct udevice *dev, u64 *count)
>> +int notrace timer_get_count(struct udevice *dev, u64 *count)
>> {
>> const struct timer_ops *ops = device_get_ops(dev);
>>
>> @@ -32,9 +32,9 @@ int timer_get_count(struct udevice *dev, u64 *count)
>> return ops->get_count(dev, count);
>
> Besides making timer_get_count() and timer_get_rate() APIs notrace,
> does it help to make the timer uclass ops notrace as well?
I don't think so. From what I can this needs to be done in each driver.
>
>> }
>>
>> -unsigned long timer_get_rate(struct udevice *dev)
>> +unsigned long notrace timer_get_rate(struct udevice *dev)
>> {
>> - struct timer_dev_priv *uc_priv = dev_get_uclass_priv(dev);
>> + struct timer_dev_priv *uc_priv = dev->uclass_priv;
>
> Why is this change needed?
To avoid a function call, and the notrace problem.
>
>>
>> return uc_priv->clock_rate;
>> }
>> --
>
> Regards,
> Bin
Regards,
Simon
More information about the U-Boot
mailing list