From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752795AbcEYKOb (ORCPT ); Wed, 25 May 2016 06:14:31 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:34470 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750745AbcEYKO0 (ORCPT ); Wed, 25 May 2016 06:14:26 -0400 Message-ID: <1464171263.3545.40.camel@pengutronix.de> Subject: Re: [PATCH v2 1/4] reset: Add support for the Amlogic Meson SoC Reset Controller From: Philipp Zabel To: Neil Armstrong Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, xing.xu@amlogic.com, victor.wan@amlogic.com, jerry.cao@amlogic.com Date: Wed, 25 May 2016 12:14:23 +0200 In-Reply-To: <1464169758-26975-2-git-send-email-narmstrong@baylibre.com> References: <1464169758-26975-1-git-send-email-narmstrong@baylibre.com> <1464169758-26975-2-git-send-email-narmstrong@baylibre.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.9-1+b1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:67c:670:100:96de:80ff:fec2:9969 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Neil, looks fine, just two comments below. Am Mittwoch, den 25.05.2016, 11:49 +0200 schrieb Neil Armstrong: > This patch adds the platform driver for the Amlogic Meson SoC Reset > Controller. > > The Meson8b and GXBB SoCs are supported. > > Signed-off-by: Neil Armstrong > --- > drivers/reset/Makefile | 1 + > drivers/reset/reset-meson.c | 137 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 138 insertions(+) > create mode 100644 drivers/reset/reset-meson.c > [...] > diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c > new file mode 100644 > index 0000000..98087ae > --- /dev/null > +++ b/drivers/reset/reset-meson.c [...] > +static int meson_reset_reset(struct reset_controller_dev *rcdev, > + unsigned long id) > +{ > + struct meson_reset *data = > + container_of(rcdev, struct meson_reset, rcdev); > + unsigned int bank = id / BITS_PER_REG; > + unsigned int offset = id % BITS_PER_REG; > + void *reg_addr = data->reg_base + (bank << 2); We lost the __iomem here. > + > + if (bank >= REG_COUNT) > + return -EINVAL; > + > + writel(BIT(offset), reg_addr); > + > + return 0; > +} > + > +static const struct reset_control_ops meson_reset_ops = { > + .reset = meson_reset_reset, > +}; > + > +static const struct of_device_id meson_reset_dt_ids[] = { > + { .compatible = "amlogic,meson8b-reset", }, > + { .compatible = "amlogic,meson-gxbb-reset", }, > + { /* sentinel */ }, > +}; > +MODULE_DEVICE_TABLE(of, meson_reset_dt_ids); [...] > +MODULE_ALIAS("platform:meson_reset"); And I think you can drop the MODULE_ALIAS since of: modaliases will be generated from the MODULE_DEVICE_TABLE above. This driver is only ever going to be probed from device tree, isn't it? > +MODULE_AUTHOR("Neil Armstrong "); > +MODULE_DESCRIPTION("Amlogic Meson Reset Controller driver"); > +MODULE_LICENSE("Dual BSD/GPL"); regards Philipp