Received: by 2002:a05:7412:1e0b:b0:fc:a2b0:25d7 with SMTP id kr11csp1296203rdb; Fri, 16 Feb 2024 10:59:22 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUckUTTbMk3qD3EZNDcn2j6RipUYCrBad1Jo1O/V6Dn9a1pbcFS7vfytQLQGGNoXXNOu8Z7RUHjp4IHjXImnIc5ieULzUivr3U+knnWFA== X-Google-Smtp-Source: AGHT+IFhWx07Qu6SN8p2DZ0yynwLmJuqLyXwg6yyHtQTRP/6Yzp/h+UjznPjcyBFOS27mQuHzPi5 X-Received: by 2002:ac2:4285:0:b0:511:7b2c:dd35 with SMTP id m5-20020ac24285000000b005117b2cdd35mr3661870lfh.45.1708109962043; Fri, 16 Feb 2024 10:59:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708109962; cv=pass; d=google.com; s=arc-20160816; b=lcDoN6PHnoUmmMhMTdzcQGwCMg/aQhMbhh54Vw8GqyyJBgj4AcGTpgud8U4VOcqsTP mYOXTWvym3y5JDsOEqm2FhE5ZmK6D0QnnxQk2uU0FuvO0j2O8QSfx4GXVDhAapwqeZIe 81C00B7SJkNcDnwbLfx5Lkvr38a3LIruLfG7/Skw5zytOYpqQ9azBYc8rHPYau8QPINo 9p0w9wImBGRSsVyra2SJ3SdCggnVrOSbYWPAElRGHdpLhAld0iCxLPlyeoswjCjAZfek 1t5OA9tesFkJzj4oTjZwul7vIu3QIASdyzPmqHiML/kIMKwq2VvCtyLFUnyjH7d7gE/W M3tQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=Bq17W6SIJMVFiVDQxckTnzA5OE2gedi1A5TqO2suh2M=; fh=YIAyzntARA8yftLWUuwgW9iLDdKQfptSMlGtjdQSACM=; b=Hk+5e77iCx5sWyzLeXzo5S5hRHNkO9PdxzGIG4q4gqEoA3EkX184jDCqQUP+OgE35l 4M0Dwl6MONVoZyVD+qKcEOX9ZHBcqvtvO7sI3h+1UWG6woid6a91ALsPQYfYoxyX8YtT 0Rc0MDQt1UE913prA/NEOXskGcC7nqFQVwBJq5g0gYEy5DhwRuRW10YR1rJXE7/F7VgQ 26e27kDqibL3xdcBnApk+ctO4bjTo8UMrUk0nS6BQrM2BqssAQCuHCzAoht8ApZGJXdq FRSYvp8U10IiKAQY/h7A9zsxz2c516l/obtH2swa1gzGQOPlRWQY4+w12keNVRio5vq4 UY8A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=ZustXo7i; arc=pass (i=1 spf=pass spfdomain=google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-69218-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-69218-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id v3-20020a50d583000000b00561a9aaf59dsi195338edi.414.2024.02.16.10.59.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 10:59:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-69218-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=ZustXo7i; arc=pass (i=1 spf=pass spfdomain=google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-69218-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-69218-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 9D0801F245B4 for ; Fri, 16 Feb 2024 18:59:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 134D4135416; Fri, 16 Feb 2024 18:59:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ZustXo7i" Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8DA1F1353F0 for ; Fri, 16 Feb 2024 18:59:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708109954; cv=none; b=XcuEa2cdhTAfC8TctmwBrPKht5+2ou92LAmvwWhuHCR+65CfAvbmqDf3b9LNCo07uX+I6ygmNlLYDiARfB+ENzEefJ5NZqrxRMK/3CL1fY94AeblNof/fkAvgItl2Ye/HfZdbys5JU9I9T0uK431nX++YLfef4R0uJZaD23EGlU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708109954; c=relaxed/simple; bh=2grfByF3ve3Ig9RbIPNo0Mh4tKTJI+lUin+Kymx8HRU=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=qYURURO3oJZs6VR9qsX+njG2Vax+0D3Z0XCxQUm69QJMQ40H6DnTvToyvEL8+LDr06NrKDQB4oHkIGd/mzAk5/dqe+NOc5+9GYxiWMFJvcYcmjnVjCHvkXpLy0nv6xP3PkXPY19WidPDWzw2XxNx6exWtD8hXw/Gp9MTGVJ+DRY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=ZustXo7i; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-563c2b2bddbso2540470a12.1 for ; Fri, 16 Feb 2024 10:59:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1708109951; x=1708714751; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Bq17W6SIJMVFiVDQxckTnzA5OE2gedi1A5TqO2suh2M=; b=ZustXo7iiOpmUGsdVfeK7fQ/7iJwZzCgaUPqhPaf4WOzOnAdwzK2zPtCTsyizAXtyj X0qQYihIgD7n7JIw9HmdFH6crkAlnlaQUEFcqx3eELdwvEe418jp0GVePQzpXpNkEpdy RZx1qV/jXesvpbdxZzn0spMK5Vdu7Z3cSDcJVH5oyT3qdPdoZJyLFtVjoL9bYAEcF4g2 Tbg/7YwO6Tp/4wo8jyPjTrED+ZAqMsxIUOxU4FoPD9Wg3bm90XACbBM6G+1/poidL/s3 QuTNNsMJfTh8HOrDCPgKkntCsPucZ0nXS1lVnb1/zYfvRlbRdzlPggi6W2yjdZu7iTpA /OHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708109951; x=1708714751; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Bq17W6SIJMVFiVDQxckTnzA5OE2gedi1A5TqO2suh2M=; b=D4875F4EF1mGdiCCn/E+LV8UvhXTXmHru6MkbjvXojD58qw2+Zzm7+56hCGpUi8USc +T+Uj28ZKcTmuPvLrzbdAGBqdlAoV8u1UeKd9hZbZWUFHtYabcqjizuOc+sB3K4VhxIN isGSeOqvDiwb7b9x+UDbZVF2GiSE0v1M/WXBI5OXQmhJLTtd8GRuWIoG5ipXAKiOsWVO Q/jaAVmZD1pF0U8WWwwfWGp2rkHJGbADEUdfxrwvYezuvxW+hubCxkYYB1xli8/tpFyu 6nP96fQ9Q2R4SFO5+COR73660VY6Ed0FZD6900iY396RnFe8WbnnSG9dlSaD4VAvdA6x lo9Q== X-Forwarded-Encrypted: i=1; AJvYcCWNaRFQattxaAX2VxomGMKc+Jxe6SqGcQFCVpT+he85bQW5oZpyE04t9QQKqcVg9KDjCKKzD+CmWQRhQ3Xwhk00TdXWzNzaRxKIohBJ X-Gm-Message-State: AOJu0YyQ4cIiHzbI3QxmGDzgXfTVqF40SXkDvy9VrUtL3PD0l93rcYNj qH1dbkp4SumD1ex9JtCYC6RG1mE01kSwbW4aWu7snT3WKnKBT7kC3tqtmTztlovam2L6UhiSDSp 4qdmNVibj+tJhOHGqiTnMuG9olTMPoGI4Z4MR X-Received: by 2002:aa7:d614:0:b0:55f:f2ae:20ed with SMTP id c20-20020aa7d614000000b0055ff2ae20edmr4226097edr.16.1708109950725; Fri, 16 Feb 2024 10:59:10 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240213142831.3069049-1-jbrunet@baylibre.com> In-Reply-To: <20240213142831.3069049-1-jbrunet@baylibre.com> From: Justin Stitt Date: Fri, 16 Feb 2024 10:58:58 -0800 Message-ID: Subject: Re: [PATCH v2] nvmem: meson-efuse: fix function pointer type mismatch To: Jerome Brunet Cc: Srinivas Kandagatla , Arnd Bergmann , Neil Armstrong , Kevin Hilman , Martin Blumenstingl , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Jernej Skrabec , linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Tue, Feb 13, 2024 at 6:28=E2=80=AFAM Jerome Brunet wrote: > > clang-16 warns about casting functions to incompatible types, as is done > here to call clk_disable_unprepare: > > drivers/nvmem/meson-efuse.c:78:12: error: cast from 'void (*)(struct clk = *)' to 'void (*)(void *)' converts to incompatible function type [-Werror,-= Wcast-function-type-strict] > 78 | (void(*)(void *))clk_disab= le_unprepare, > > The pattern of getting, enabling and setting a disable callback for a > clock can be replaced with devm_clk_get_enabled(), which also fixes > this warning. > > Fixes: 611fbca1c861 ("nvmem: meson-efuse: add peripheral clock") > Reported-by: Arnd Bergmann > Signed-off-by: Jerome Brunet > --- > drivers/nvmem/meson-efuse.c | 25 +++---------------------- I love negative diffs ^^^^^^^^^^^^^^^ > 1 file changed, 3 insertions(+), 22 deletions(-) > > diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c > index b922df99f9bc..33678d0af2c2 100644 > --- a/drivers/nvmem/meson-efuse.c > +++ b/drivers/nvmem/meson-efuse.c > @@ -47,7 +47,6 @@ static int meson_efuse_probe(struct platform_device *pd= ev) > struct nvmem_config *econfig; > struct clk *clk; > unsigned int size; > - int ret; > > sm_np =3D of_parse_phandle(pdev->dev.of_node, "secure-monitor", 0= ); > if (!sm_np) { > @@ -60,27 +59,9 @@ static int meson_efuse_probe(struct platform_device *p= dev) > if (!fw) > return -EPROBE_DEFER; > > - clk =3D devm_clk_get(dev, NULL); > - if (IS_ERR(clk)) { > - ret =3D PTR_ERR(clk); > - if (ret !=3D -EPROBE_DEFER) > - dev_err(dev, "failed to get efuse gate"); > - return ret; > - } > - > - ret =3D clk_prepare_enable(clk); > - if (ret) { > - dev_err(dev, "failed to enable gate"); > - return ret; > - } > - > - ret =3D devm_add_action_or_reset(dev, > - (void(*)(void *))clk_disable_unpre= pare, > - clk); > - if (ret) { > - dev_err(dev, "failed to add disable callback"); > - return ret; > - } > + clk =3D devm_clk_get_enabled(dev, NULL); > + if (IS_ERR(clk)) > + return dev_err_probe(dev, PTR_ERR(clk), "failed to get ef= use gate"); Wow, this simplified nicely and doesn't make any new helpers (like Arnd's version). Reviewed-by: Justin Stitt > > if (meson_sm_call(fw, SM_EFUSE_USER_MAX, &size, 0, 0, 0, 0, 0) < = 0) { > dev_err(dev, "failed to get max user"); > -- > 2.43.0 > Thanks Justin