Received: by 10.223.176.5 with SMTP id f5csp1876225wra; Sun, 28 Jan 2018 09:33:11 -0800 (PST) X-Google-Smtp-Source: AH8x227KriYT62w9fjhaTFA1jqjV29P1lbkAh4CJ5xDPpW5L4k0VNsVmJ/CCiTn+rqo2fmGYJYDr X-Received: by 2002:a17:902:1c1:: with SMTP id b59-v6mr19319796plb.325.1517160791636; Sun, 28 Jan 2018 09:33:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517160791; cv=none; d=google.com; s=arc-20160816; b=aRBmmHeTVRY6xe76zuo9lXcT9LUTrMvskwv3ixHWoefejcls7ZE8CY17FSm5ot5a+x vCYZZpqPOQT7MhKabFLunR3qKGoxJhK0HQvq80YjYc0F3o4J+L9OHSX463r2ucbzLWNW Qc5pM04z2SpuppATt0bhAUIHdM3YfQoZsoG6EuwWCn/7fUCTwQKKrxF5k19JeCEXGk2P krQm2wJ+QCKfDEkFJmwnLAGASM9vk4aqvkDXO7ctgxDhQ+no8wN+QK2KEEKT1vO5tJx4 DSPNKmKuKnJVnnCnkd7/eu5XU81uDas3IaXTMZ110uRTQipw+5HT485IvTlPyemp+9PL rrHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:arc-authentication-results; bh=8TmNKFlnUPpOAILQOdYrcRdf8GKfjDi2gMnzoyen5Dw=; b=Rae1Wh4MoFa0jACSq6wKjygjUpajBUivBtFncOX6vuFtXrLRAf84rBOlKF1OqqYebF 6Sl4apfdr1kSaRKzCrC8dzYIEYJLD27LqXg1Ft2shHjqDGhuc8jzJZiJCIjmY4ukDSrb 4eD8HS98MVmDSZrYYdgnXhgmd9Te+ZfIPP9+gv0n5gUbdlkypCxjAKZtmbOeZgyTlpwx gJ85N1k1zKpdEl0gfXruoub3pF/Pr+TGUZ4mm2qwXl6eZMqu4PDFz/rbdt9PL/mshc2r 6cvjk7rUSNuPp4ZWKWJVDn/W8/QuMEkANUB3tKwZcIaUivj0CUKOQwhGNmmxF7XdExcS usLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WI0pboMd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p11si10076062pfl.272.2018.01.28.09.32.56; Sun, 28 Jan 2018 09:33:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=WI0pboMd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752134AbeA1RcC (ORCPT + 99 others); Sun, 28 Jan 2018 12:32:02 -0500 Received: from mail-qk0-f193.google.com ([209.85.220.193]:35080 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751901AbeA1RcA (ORCPT ); Sun, 28 Jan 2018 12:32:00 -0500 Received: by mail-qk0-f193.google.com with SMTP id d80so2875708qkg.2; Sun, 28 Jan 2018 09:31:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=8TmNKFlnUPpOAILQOdYrcRdf8GKfjDi2gMnzoyen5Dw=; b=WI0pboMdRQFFNEmTgmZRGGkGv3JcVmFiVOexsv0BxBTciUwv4oNRXOSb63pTvXxTE3 S7HJPG2BgOY51fPIEPHMddCKqkK9b2oFHjmsAondWwIoUO0g5xMvLnvRSziloPjhkx7v Wyl1oq+aBtEOUUvc4ZhRUEwy2jTSgVLnjrDhatxcvEzpIIRhbPBiMf2ZrOaJ0+UKDDeu Heub4K51t6zpkLXprCDURWDDKLAagpk2Ei2cECx2UH+CDTrNTpVPNnrr1bH1sdp6pmIP rO6q5n+DRTJiKZWy+CRLonYzno3T06HjzFH7gKC+232LSwF/u8hhcFtluTofP/5fJZ2I /qMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=8TmNKFlnUPpOAILQOdYrcRdf8GKfjDi2gMnzoyen5Dw=; b=F/5U4+oKWevKDd6XbbWUUjCsDlJQOHAAo7DuOj/HVToLqRbQ3zmKHqu8dNNPpnXI+x qVfVZU+rhI5P8olo1JeH7so0RArbx0MHrX6FByj4UmblRqsHMR2Q9nb8+BUpwE/1qT1k JWkCw9PQ944neqPbj4vkIDQXyEhtWvP3EWoA+oYfsSOc7WCwVKQ9DWt/1ICIA9HZEWfW b0OmGlHBEJ+n5nZTp114My/SPjjjlt2OCJ5+ds/5hKSVdlmqBl3tfwP1jv0fDkwul3gA 7DBaulV8AMyvagPTGkEP58ULfLlLrFG6PN953g7Sft7lxfgOtTWAW8p1sDw1YG6/eq63 jQXA== X-Gm-Message-State: AKwxytc3uGvvWkutOmg6vl4PzHp/YHfVFH0rqcq8YMeMoDZOmglPrGv+ JcrNEkas0og7LWTopLfaWUSDz4rkFKLY1d8FgvYpTw== X-Received: by 10.55.87.70 with SMTP id l67mr31270537qkb.319.1517160719041; Sun, 28 Jan 2018 09:31:59 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.175.35 with HTTP; Sun, 28 Jan 2018 09:31:58 -0800 (PST) In-Reply-To: <20180122050411.32460-4-j.neuschaefer@gmx.net> References: <20180122050411.32460-1-j.neuschaefer@gmx.net> <20180122050411.32460-4-j.neuschaefer@gmx.net> From: Andy Shevchenko Date: Sun, 28 Jan 2018 19:31:58 +0200 Message-ID: Subject: Re: [PATCH v2 3/6] gpio: Add GPIO driver for Nintendo Wii To: =?UTF-8?Q?Jonathan_Neusch=C3=A4fer?= Cc: Linux Kernel Mailing List , "open list:LINUX FOR POWERPC PA SEMI PWRFICIENT" , "open list:GPIO SUBSYSTEM" , devicetree , Albert Herranz , Segher Boessenkool , Linus Walleij Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 22, 2018 at 7:04 AM, Jonathan Neusch=C3=A4fer wrote: Style issues below. > +#define HW_GPIO_OWNER 0x3c > + > + > +struct hlwd_gpio { No need extra empty line in between. > + struct gpio_chip gpioc; > + void __iomem *regs; > + struct device *dev; > +}; > + > +static int hlwd_gpio_probe(struct platform_device *pdev) > +{ > + struct hlwd_gpio *hlwd; > + struct resource *regs_resource; > + u32 ngpios; > + int res; > + > + hlwd =3D devm_kzalloc(&pdev->dev, sizeof(*hlwd), GFP_KERNEL); > + if (!hlwd) > + return -ENOMEM; > + > + /* Save the struct device pointer so dev_info, etc. can be used. = */ Useless. > + hlwd->dev =3D &pdev->dev; > + > + regs_resource =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); > + if (IS_ERR(regs_resource)) > + return PTR_ERR(regs_resource); > + This is redundant. Below does it for ya. > + hlwd->regs =3D devm_ioremap_resource(&pdev->dev, regs_resource); > + if (IS_ERR(hlwd->regs)) > + return PTR_ERR(hlwd->regs); > + res =3D bgpio_init(&hlwd->gpioc, &pdev->dev, 4, > + hlwd->regs + HW_GPIOB_IN, hlwd->regs + HW_GPIOB_O= UT, > + NULL, hlwd->regs + HW_GPIOB_DIR, NULL, > + BGPIOF_BIG_ENDIAN_BYTE_ORDER); > + Remove this extra line. > + if (res < 0) { > + dev_warn(hlwd->dev, "bgpio_init failed: %d\n", res); > + return res; > + } > + if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) > + ngpios =3D 32; A nit: I would rather go with res =3D of_property_read(...); if (res) ngpios =3D 32; --=20 With Best Regards, Andy Shevchenko