On 03/26/2013 11:50 AM, Lubomir Rintel wrote: > This adds a driver for watchdog timer hardware present on Broadcom BCM2835 SoC, > used in Raspberry Pi and Roku 2 devices. Since this patch defines a new DT binding, you should send it to devicetree-discuss@xxxxxxxxxxxxxxxx too. > diff --git a/drivers/watchdog/bcm2835_wdt.c b/drivers/watchdog/bcm2835_wdt.c > +/* > + * Watchdog driver for Broadcom BCM2835 > + * > + * Interface to the Broadcom BCM2835 watchdog timer hardware is based on > + * "bcm2708_wdog" driver written by Luke Diamand that was obtained from branch > + * "rpi-3.6.y" of git://github.com/raspberrypi/linux.git I see that the patch isn't S-o-b Luke in the downstream kernel. However, it is S-o-b Dom Cobley (popcornmix), and they both work for Broadcom, so I think that's OK. > +static int bcm2835_wdt_probe(struct platform_device *pdev) > +{ > + struct device *dev = &pdev->dev; > + struct device_node *np = dev->of_node; > + struct bcm2835_wdt *wdt; > + int err; > + > + wdt = devm_kzalloc(dev, sizeof(struct bcm2835_wdt), GFP_KERNEL); > + if (!wdt) { > + dev_err(dev, "Failed to allocate memory for watchdog device"); > + return -ENOMEM; > + } > + > + spin_lock_init(&wdt->lock); > + > + wdt->base = of_iomap(np, 0); > + if (!wdt->base) { > + dev_err(dev, "Failed to remap watchdog regs"); > + return -ENODEV; > + } > + > + platform_set_drvdata(pdev, wdt); > + watchdog_set_drvdata(&bcm2835_wdt_wdd, wdt); Do you really need both of those? I would have thought just one would have been enough. I'd be tempted to put the platform_set_drvdata() call right after the devm_kzalloc() of wdt, but it's not a big deal either way. -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html