Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4453294imm; Mon, 14 May 2018 07:47:31 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpWVJ6+4wpa5DveA+s2JR79St4NDHl1cA701mKndRez/i6rSdWxBiz77SOmLZZRgtPTB/Sp X-Received: by 2002:a17:902:2805:: with SMTP id e5-v6mr10331851plb.55.1526309251161; Mon, 14 May 2018 07:47:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526309251; cv=none; d=google.com; s=arc-20160816; b=bmDMJiukCWq7VsuatWI1rHLbFid0YNQK8re6JslG/hNtBf/qR3q6iXPU69I/C4fOZd IMEfqiZa06rbJUaQxI0xOb2xRYlRzQFdII2pDaO1SnbucQalfq/Q2xHsZQ4H2dZy3EKu wB+Q2BygObeK5daDDXCAN0TIY77ox86iq/C2z1/YnHZjdbcRKDpKmXdQoSe7mGAxZ8FL VeOQrUheTyBUqBX4M+R+Dele+0omN61WA35KxSvha5fY9iS95SY+1WPwei4WLzDHO2Ew XRFM1YgU24S68lTDgljH9gxCVf5BwGfWU/6g0bVnKjcffI+tsE2Tmz2wUq1eBo3xxEWC 4yiA== 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=EPONLDMVowxpyEKt+aR/WER+mdL7j64t8x5hvR1m6Zc=; b=hDjq6adrW6u0XWogVzUYYaEUq/Fb682QsUkKlxET0fc/TkQB5JHUHsG8Uuj91wCdbW VyDrS1Qb+VjTLgc0SZ3jfrnAlRAHKjzZ/MWxHg7j5eHgI+TShUWK+YH7Z7PfBaj8dfG1 AmscJKIRZm6nZwga39A8CmhzIgMqQF7zTiynep4HVKA83D8PXsenbblaIFh9WgqHIIlS SwKOFm0+vFBJjU8q1fP82cCFuf/hfk+Q2wOK0KqG9LxsCDOexVnHn7pXH/IFQivqaKKf f/wqv9zK7tkBe/CdjCxTNkggig8KUT0AzOcuv6XxUnfL9fYys+sOWIUzLO70f5HTvXG/ KVpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Z3u+Ub6q; 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=QUARANTINE 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 j2-v6si1764284pgc.350.2018.05.14.07.47.15; Mon, 14 May 2018 07:47:31 -0700 (PDT) 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=Z3u+Ub6q; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753992AbeENOps (ORCPT + 99 others); Mon, 14 May 2018 10:45:48 -0400 Received: from mail-vk0-f65.google.com ([209.85.213.65]:43968 "EHLO mail-vk0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753422AbeENOpq (ORCPT ); Mon, 14 May 2018 10:45:46 -0400 Received: by mail-vk0-f65.google.com with SMTP id x191-v6so7644009vke.10; Mon, 14 May 2018 07:45:45 -0700 (PDT) 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=EPONLDMVowxpyEKt+aR/WER+mdL7j64t8x5hvR1m6Zc=; b=Z3u+Ub6qAH2zu7fDe/mgjcz+aYkqB++HGlQkD1f6ythaBVZyw/Zm8ASfxNInNsN02h wnCfGyxgYlVhxmzh60SmsqDyzHaV4R/MZHFWqCNQ+oiGHNXDJIF6CCYF9z+R+z1whoqu 8dwdvUzAIAo48L0s6o1aHXS8BOBVbzYKashGFP5OBgRdP3mo+NqyuZI15y0ty66Ou3Sj MMX5sUEX5W5bWK5ICGVzfxAQ4M+F66r+miKZVGVPuYLUBopzITfOYYipRltGKIDi+lo+ YzH49cU1vIOrPD9PrO+0l0o0+yxvxHELP4ysMyLt+7ZYbJubJBEGcdNCFaHyvR7x8E9H m2ig== 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=EPONLDMVowxpyEKt+aR/WER+mdL7j64t8x5hvR1m6Zc=; b=irrNSkT9yslkz+8gul4Va/wHjMn72eFmN3RsTC5LvpWwSpwax7aQfdlgq+d8qH5gID Kt/6ehv08fm3quT5JXxkQTYBHYyWu5zKmHtcIla7i6KoLbT+KueVLbJwo6xrlfVc2BDS fvvyS7wROfON34/q5q7oHyK3ddL7ftZ8v5tn3h2bwsQSeWypwiaWfv3m89Yskm8Wv+T5 iigm13IZg2cOTfBLBN9HWWO77TS3kKTwTmRIhRUjCBjrYxNkC0b2Pcwab/MKmPek3MCQ GxxI8To3Om8nIq5sqLUQ2o7+m7MgJ1vWAvLVq8pIUF/z7wJDNWZLdDpl1PihTgqmEhuJ nU/w== X-Gm-Message-State: ALKqPwd3eEJn8jfxC7Hs/iUSTEBouWk5VkKxpb5XUohLxKNN1u8ygCPf juzixTrFzoed0ZRxmKKUboCpZbBwRtX+97yvQSk= X-Received: by 2002:a1f:8809:: with SMTP id k9-v6mr11258484vkd.85.1526309144951; Mon, 14 May 2018 07:45:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.95.12 with HTTP; Mon, 14 May 2018 07:45:44 -0700 (PDT) In-Reply-To: <20180226090038.etk5q4pd4rl5dvf6@flea.lan> References: <20180225135308.GA14561@arx-s1> <20180226090038.etk5q4pd4rl5dvf6@flea.lan> From: Hao Zhang Date: Mon, 14 May 2018 22:45:44 +0800 Message-ID: Subject: Re: [PATCH v2 4/4] ARM: PWM: add allwinner sun8i pwm support. To: Maxime Ripard Cc: Thierry Reding , robh+dt@kernel.org, Mark Rutland , linux@armlinux.org.uk, Chen-Yu Tsai , Claudiu Beznea , linux-gpio@vger.kernel.org, open list , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/Allwinner sunXi SoC support" , linux-pwm@vger.kernel.org, linux-sunxi@googlegroups.com 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 2018-02-26 17:00 GMT+08:00 Maxime Ripard : > Hi, > > Thanks for respinning this serie. It looks mostly good, but you still > have a quite significant number of checkpatch (--strict) warnings that > you should address. Thanks for reviews :) ,i'm sorry for that, it will be fixed next time. and, besides, in what situation were the checkpatch warning can be ignore= =EF=BC=9F > > On Sun, Feb 25, 2018 at 09:53:08PM +0800, hao_zhang wrote: >> +#define CAPTURE_IRQ_ENABLE_REG 0x0010 >> +#define CFIE(ch) BIT(ch << 1 + 1) >> +#define CRIE(ch) BIT(ch << 1) > > You should also put your argument between parentheses here (and in all > your other macros). Do you mean like this ? #define CFIE(ch) BIT((ch) << 1 + 1) #define CRIE(ch) BIT((ch) << 1) > >> +static const u16 div_m_table[] =3D { >> + 1, >> + 2, >> + 4, >> + 8, >> + 16, >> + 32, >> + 64, >> + 128, >> + 256 >> +}; > > If this is just a power of two, you can use either the power of two / > ilog2 to switch back and forth, instead of using that table. I think using table is more explicit and extended... > >> +static int sun8i_pwm_apply(struct pwm_chip *chip, struct pwm_device *pw= m, >> + struct pwm_state *state) >> +{ >> + int ret; >> + struct sun8i_pwm_chip *sun8i_pwm =3D to_sun8i_pwm_chip(chip); >> + struct pwm_state cstate; >> + >> + pwm_get_state(pwm, &cstate); >> + if (!cstate.enabled) { >> + ret =3D clk_prepare_enable(sun8i_pwm->clk); >> + if (ret) { >> + dev_err(chip->dev, "Failed to enable PWM clock\n")= ; >> + return ret; >> + } >> + } >> + >> + spin_lock(&sun8i_pwm->ctrl_lock); > > What do you need that spinlock for? Can you use a mutex instead? It should be remove. > > Thanks! > Maxime > > -- > Maxime Ripard, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > https://bootlin.com