On Sat, Jun 19, 2010 at 19:42, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > Marek Vasut wrote: >> Dne So 19. června 2010 15:05:18 Lars-Peter Clausen napsal(a): >>> Marek Vasut wrote: >>>> Dne So 19. června 2010 07:08:20 Lars-Peter Clausen napsal(a): >>>>> This patch adds support for the RTC unit on JZ4740 SoCs. >>>>> +static void jz4740_rtc_ctrl_set_bits(struct jz4740_rtc *rtc, uint32_t >>>>> mask, + uint32_t val) >>>>> +{ >>>>> + unsigned long flags; >>>>> + uint32_t ctrl; >>>>> + >>>>> + spin_lock_irqsave(&rtc->lock, flags); >>>>> >>>> Can't we use local_irq_save()/local_irq_restore() ? >>>> >>> Why would that be preferable? In the non-debug, non-rt case this will >>> expand to local_irq_{save,restore} anyway, but you'll lose the semantics >>> of an lock. >>> >> >> I believe on SMP systems, local_irq_save will give you finer locking >> granularity. >> > Hm, not sure about that. But this is on a non SMP system anyway. If the driver will ever be used on a SMP system, local_irq_save() will not protect against concurrent accesses on different CPUs. So it's better to use spin_lock_irqsave(). Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds