From patchwork Fri Feb 23 19:49:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 205715 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp873701dyb; Fri, 23 Feb 2024 14:21:32 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXofRw0q59iMSv5JJJkHZiNTn5qf1SBP4SvGfmmL/IsD/8URy7c0V4mbTZNQT229NE+tPDdUk0aPG+nqHIER9qa1t5JQQ== X-Google-Smtp-Source: AGHT+IHAIR4ImT/8L5sGHRabzhJJ9pgBzXxAz884hLnrbHUhCxxbsFMygjO1kTvimzYodHSEkAyw X-Received: by 2002:a17:906:140c:b0:a3e:57ed:8b93 with SMTP id p12-20020a170906140c00b00a3e57ed8b93mr1076497ejc.19.1708726891908; Fri, 23 Feb 2024 14:21:31 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708726891; cv=pass; d=google.com; s=arc-20160816; b=R1el4xklfBKh90KxwbteM65vM99WMVMhdAOIXqaZgvxYo176U6dQoJE/i4Gx+kRk+X BivWp1wRK6qFgEYKSmcmlz4JU+9qlmCxM0vR5LixyqMYxXBAyZdU/zFMZ/HY024A/qKS kGojW0SHnYhbbg3jHfTSH7SAvSoyIKwJgKIJmpBgl6fQnem+/HlOTDPwFi7rleNz9fAH /RQT5djGyBUGDJnflYG8prERj41vhIlTQr4b4CIWIWtI/h9/whyl2h92QZ1w1s+AvXxp L4wIx098JmiqCcvLBm6pSOdMofu5S6Hz8qjXPE+ya/KS0gJ1UkflRn8T++ymuWLCxRTQ ocFQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=mVR5uFk964TFXAj2jJnCmgwt9pp1Te1G3UopkeU+Mqs=; fh=NrWLvEVUW8ufGou/ZOuWZl9yKC+ByU+oxgRUdXMV2yI=; b=N2/5968LAKMeCcnNqGeXqesEg5hT5oCOk+vrSMvb0Z8jJyw1fcQYO5kaQB8coa0z+y s+rQVdmWX7dTeN0Q9/NtbeZCT1n4gz1BXAVb2+y15/2j0PpcuatqaGdEECR+VnAPk4+l 6K3KBVzfWVx+dmoywbmSiwYmjnxDfbOgUux9TmqMX3W4904UpmkIHJcaPtzWip9v8VJp HsGI/v+yqXN1w4gYQz0fmL/+oxu/0KxIeZirtTR5eoiVzBx4v6a8tr65rPh+TQtGwt6O ONSt02ILAeByAu9FK8bKwbemFFOvCIUbolSJFdOyG02MF3wgJ6xoLQkMKlNFA2oCGwnp e0jw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HlMsneYa; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-79060-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79060-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id ha16-20020a170906a89000b00a3e90882d0fsi171ejb.554.2024.02.23.14.21.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 14:21:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79060-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=HlMsneYa; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-79060-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79060-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.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 DD9781F261A2 for ; Fri, 23 Feb 2024 19:52:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B0CAA14CAB3; Fri, 23 Feb 2024 19:51:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="HlMsneYa" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70034149390 for ; Fri, 23 Feb 2024 19:51:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708717881; cv=none; b=cpoqsg3ItDSkr0ESHiiz51IZnMVevGWiXT6g/CjX5Gn69rEj6AaXZUjw5Mv+pFH+PXvP/f3ZU5bEBMFQ6j0yBUALbnAekx6owhv1kHCVBeYVN9lF3vfTTj3cJlH510QXA7x9gYCBzpySN/lntqftdbz+a+Z2gEUVGBrbqvkCdgg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708717881; c=relaxed/simple; bh=dXoPLDQhxVnWDcsR1gAg8K6LjURfRWuoMXcIAZ0xYSk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ila4LGUklJM6DEazNFs5mnb2c8uPecC2Nx5Ghi3phDBA9PT77pcoffapfgQlYs9M5wJ6dG5ZeGPQ5uhygYr2RvEaawepnXttAVXTcCAAm0hfxsNNJWGmb1i5YY9wt7upc3IWs2TtpR+1rRBN/5wK2jmSpFF+/hYHAthKV8u/LSg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=HlMsneYa; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708717879; x=1740253879; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dXoPLDQhxVnWDcsR1gAg8K6LjURfRWuoMXcIAZ0xYSk=; b=HlMsneYaxN1uF0SVb85m9QJ3eyD6xBP0ZEksgzhWd1ir409VXWPWAJto OIIlagwd2KDbLLpTOKA8mgOP31Fi8utyRtIvTuktKOJf9rcR8j+yAgQ8y D0V0E1MVidqaXtnirFL4PFyfmE3UMhx0xlAJta6tcx/NiKyhImTLdatjr gjhW/Vhqq/iEulBQYtJ2lmL0usX9arMz4XYk3QgqjCntL+V+O/eK+5+7z 6/43IRLGjbyN+Ity5NAGBj0xkfj15b4qpdG/3RHAt4YSTjwTmKcKC+BZe HQ+LJ2HvdPD8+DkHpdzmQV5tSeBRys0rszR0T1LkJhJG7xHBswB8rHdOJ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10993"; a="6837324" X-IronPort-AV: E=Sophos;i="6.06,180,1705392000"; d="scan'208";a="6837324" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Feb 2024 11:51:17 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10993"; a="937025651" X-IronPort-AV: E=Sophos;i="6.06,180,1705392000"; d="scan'208";a="937025651" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 23 Feb 2024 11:51:15 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id A2BFE4F1; Fri, 23 Feb 2024 21:51:14 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , linux-kernel@vger.kernel.org Cc: Lee Jones Subject: [PATCH v1 2/6] mfd: kempld: Use device core to create driver-specific device attributes Date: Fri, 23 Feb 2024 21:49:51 +0200 Message-ID: <20240223195113.880121-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240223195113.880121-1-andriy.shevchenko@linux.intel.com> References: <20240223195113.880121-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791730009189754114 X-GMAIL-MSGID: 1791730009189754114 Instead of creating driver-specific device attributes with sysfs_create_group() have device core do this by setting up dev_groups pointer in the driver structure. Signed-off-by: Andy Shevchenko --- drivers/mfd/kempld-core.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/drivers/mfd/kempld-core.c b/drivers/mfd/kempld-core.c index 99c8656e723c..e8ac30528085 100644 --- a/drivers/mfd/kempld-core.c +++ b/drivers/mfd/kempld-core.c @@ -15,6 +15,7 @@ #include #include #include +#include #define MAX_ID_LEN 4 static char force_device_id[MAX_ID_LEN + 1] = ""; @@ -373,16 +374,13 @@ static DEVICE_ATTR_RO(pld_version); static DEVICE_ATTR_RO(pld_specification); static DEVICE_ATTR_RO(pld_type); -static struct attribute *pld_attributes[] = { +static struct attribute *pld_attrs[] = { &dev_attr_pld_version.attr, &dev_attr_pld_specification.attr, &dev_attr_pld_type.attr, NULL }; - -static const struct attribute_group pld_attr_group = { - .attrs = pld_attributes, -}; +ATTRIBUTE_GROUPS(pld); static int kempld_detect_device(struct kempld_device_data *pld) { @@ -415,15 +413,7 @@ static int kempld_detect_device(struct kempld_device_data *pld) pld->info.version, kempld_get_type_string(pld), pld->info.spec_major, pld->info.spec_minor); - ret = sysfs_create_group(&pld->dev->kobj, &pld_attr_group); - if (ret) - return ret; - - ret = kempld_register_cells(pld); - if (ret) - sysfs_remove_group(&pld->dev->kobj, &pld_attr_group); - - return ret; + return kempld_register_cells(pld); } static int kempld_probe(struct platform_device *pdev) @@ -489,8 +479,6 @@ static void kempld_remove(struct platform_device *pdev) struct kempld_device_data *pld = platform_get_drvdata(pdev); const struct kempld_platform_data *pdata = dev_get_platdata(pld->dev); - sysfs_remove_group(&pld->dev->kobj, &pld_attr_group); - mfd_remove_devices(&pdev->dev); pdata->release_hardware_mutex(pld); } @@ -506,6 +494,7 @@ static struct platform_driver kempld_driver = { .driver = { .name = "kempld", .acpi_match_table = kempld_acpi_table, + .dev_groups = pld_groups, }, .probe = kempld_probe, .remove_new = kempld_remove,