From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Date: Thu, 04 Jul 2019 08:46:15 +0000 Subject: [PATCH 09/11] video: fbdev: sm501fb: convert platform driver to use dev_groups Message-Id: <20190704084617.3602-10-gregkh@linuxfoundation.org> List-Id: References: <20190704084617.3602-1-gregkh@linuxfoundation.org> In-Reply-To: <20190704084617.3602-1-gregkh@linuxfoundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Bartlomiej Zolnierkiewicz Platform drivers now have the option to have the platform core create and remove any needed sysfs attribute files. So take advantage of that and do not register "by hand" a bunch of sysfs files. Cc: Bartlomiej Zolnierkiewicz Cc: dri-devel@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/video/fbdev/sm501fb.c | 37 +++++++++-------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/drivers/video/fbdev/sm501fb.c b/drivers/video/fbdev/sm501fb.c index dde52d027416..c633ee76a73d 100644 --- a/drivers/video/fbdev/sm501fb.c +++ b/drivers/video/fbdev/sm501fb.c @@ -1274,6 +1274,14 @@ static ssize_t sm501fb_debug_show_pnl(struct device *dev, static DEVICE_ATTR(fbregs_pnl, 0444, sm501fb_debug_show_pnl, NULL); +static struct attribute *sm501fb_attrs[] = { + &dev_attr_crt_src.attr, + &dev_attr_fbregs_pnl.attr, + &dev_attr_fbregs_crt.attr, + NULL, +}; +ATTRIBUTE_GROUPS(sm501fb); + /* acceleration operations */ static int sm501fb_sync(struct fb_info *info) { @@ -2016,33 +2024,9 @@ static int sm501fb_probe(struct platform_device *pdev) goto err_started_crt; } - /* create device files */ - - ret = device_create_file(dev, &dev_attr_crt_src); - if (ret) - goto err_started_panel; - - ret = device_create_file(dev, &dev_attr_fbregs_pnl); - if (ret) - goto err_attached_crtsrc_file; - - ret = device_create_file(dev, &dev_attr_fbregs_crt); - if (ret) - goto err_attached_pnlregs_file; - /* we registered, return ok */ return 0; -err_attached_pnlregs_file: - device_remove_file(dev, &dev_attr_fbregs_pnl); - -err_attached_crtsrc_file: - device_remove_file(dev, &dev_attr_crt_src); - -err_started_panel: - unregister_framebuffer(info->fb[HEAD_PANEL]); - sm501_free_init_fb(info, HEAD_PANEL); - err_started_crt: unregister_framebuffer(info->fb[HEAD_CRT]); sm501_free_init_fb(info, HEAD_CRT); @@ -2072,10 +2056,6 @@ static int sm501fb_remove(struct platform_device *pdev) struct fb_info *fbinfo_crt = info->fb[0]; struct fb_info *fbinfo_pnl = info->fb[1]; - device_remove_file(&pdev->dev, &dev_attr_fbregs_crt); - device_remove_file(&pdev->dev, &dev_attr_fbregs_pnl); - device_remove_file(&pdev->dev, &dev_attr_crt_src); - sm501_free_init_fb(info, HEAD_CRT); sm501_free_init_fb(info, HEAD_PANEL); @@ -2233,6 +2213,7 @@ static int sm501fb_resume(struct platform_device *pdev) #endif static struct platform_driver sm501fb_driver = { + .dev_groups = sm501fb_groups, .probe = sm501fb_probe, .remove = sm501fb_remove, .suspend = sm501fb_suspend, -- 2.22.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 09/11] video: fbdev: sm501fb: convert platform driver to use dev_groups Date: Thu, 4 Jul 2019 10:46:15 +0200 Message-ID: <20190704084617.3602-10-gregkh@linuxfoundation.org> References: <20190704084617.3602-1-gregkh@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 438F66E30E for ; Thu, 4 Jul 2019 08:47:07 +0000 (UTC) In-Reply-To: <20190704084617.3602-1-gregkh@linuxfoundation.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Bartlomiej Zolnierkiewicz List-Id: dri-devel@lists.freedesktop.org UGxhdGZvcm0gZHJpdmVycyBub3cgaGF2ZSB0aGUgb3B0aW9uIHRvIGhhdmUgdGhlIHBsYXRmb3Jt IGNvcmUgY3JlYXRlCmFuZCByZW1vdmUgYW55IG5lZWRlZCBzeXNmcyBhdHRyaWJ1dGUgZmlsZXMu ICBTbyB0YWtlIGFkdmFudGFnZSBvZiB0aGF0CmFuZCBkbyBub3QgcmVnaXN0ZXIgImJ5IGhhbmQi IGEgYnVuY2ggb2Ygc3lzZnMgZmlsZXMuCgpDYzogQmFydGxvbWllaiBab2xuaWVya2lld2ljeiA8 Yi56b2xuaWVya2llQHNhbXN1bmcuY29tPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpDYzogbGludXgtZmJkZXZAdmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IEdyZWcg S3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0tLQogZHJpdmVycy92 aWRlby9mYmRldi9zbTUwMWZiLmMgfCAzNyArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9zbTUwMWZiLmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NtNTAxZmIuYwppbmRleCBkZGU1MmQwMjc0MTYuLmM2MzNlZTc2YTczZCAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zbTUwMWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9zbTUwMWZiLmMKQEAgLTEyNzQsNiArMTI3NCwxNCBAQCBzdGF0aWMgc3NpemVfdCBzbTUw MWZiX2RlYnVnX3Nob3dfcG5sKHN0cnVjdCBkZXZpY2UgKmRldiwKIAogc3RhdGljIERFVklDRV9B VFRSKGZicmVnc19wbmwsIDA0NDQsIHNtNTAxZmJfZGVidWdfc2hvd19wbmwsIE5VTEwpOwogCitz dGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqc201MDFmYl9hdHRyc1tdID0geworCSZkZXZfYXR0cl9j cnRfc3JjLmF0dHIsCisJJmRldl9hdHRyX2ZicmVnc19wbmwuYXR0ciwKKwkmZGV2X2F0dHJfZmJy ZWdzX2NydC5hdHRyLAorCU5VTEwsCit9OworQVRUUklCVVRFX0dST1VQUyhzbTUwMWZiKTsKKwog LyogYWNjZWxlcmF0aW9uIG9wZXJhdGlvbnMgKi8KIHN0YXRpYyBpbnQgc201MDFmYl9zeW5jKHN0 cnVjdCBmYl9pbmZvICppbmZvKQogewpAQCAtMjAxNiwzMyArMjAyNCw5IEBAIHN0YXRpYyBpbnQg c201MDFmYl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlnb3RvIGVycl9z dGFydGVkX2NydDsKIAl9CiAKLQkvKiBjcmVhdGUgZGV2aWNlIGZpbGVzICovCi0KLQlyZXQgPSBk ZXZpY2VfY3JlYXRlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfY3J0X3NyYyk7Ci0JaWYgKHJldCkKLQkJ Z290byBlcnJfc3RhcnRlZF9wYW5lbDsKLQotCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYs ICZkZXZfYXR0cl9mYnJlZ3NfcG5sKTsKLQlpZiAocmV0KQotCQlnb3RvIGVycl9hdHRhY2hlZF9j cnRzcmNfZmlsZTsKLQotCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICZkZXZfYXR0cl9m YnJlZ3NfY3J0KTsKLQlpZiAocmV0KQotCQlnb3RvIGVycl9hdHRhY2hlZF9wbmxyZWdzX2ZpbGU7 Ci0KIAkvKiB3ZSByZWdpc3RlcmVkLCByZXR1cm4gb2sgKi8KIAlyZXR1cm4gMDsKIAotZXJyX2F0 dGFjaGVkX3BubHJlZ3NfZmlsZToKLQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmZGV2X2F0dHJf ZmJyZWdzX3BubCk7Ci0KLWVycl9hdHRhY2hlZF9jcnRzcmNfZmlsZToKLQlkZXZpY2VfcmVtb3Zl X2ZpbGUoZGV2LCAmZGV2X2F0dHJfY3J0X3NyYyk7Ci0KLWVycl9zdGFydGVkX3BhbmVsOgotCXVu cmVnaXN0ZXJfZnJhbWVidWZmZXIoaW5mby0+ZmJbSEVBRF9QQU5FTF0pOwotCXNtNTAxX2ZyZWVf aW5pdF9mYihpbmZvLCBIRUFEX1BBTkVMKTsKLQogZXJyX3N0YXJ0ZWRfY3J0OgogCXVucmVnaXN0 ZXJfZnJhbWVidWZmZXIoaW5mby0+ZmJbSEVBRF9DUlRdKTsKIAlzbTUwMV9mcmVlX2luaXRfZmIo aW5mbywgSEVBRF9DUlQpOwpAQCAtMjA3MiwxMCArMjA1Niw2IEBAIHN0YXRpYyBpbnQgc201MDFm Yl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlzdHJ1Y3QgZmJfaW5mbwkg ICAqZmJpbmZvX2NydCA9IGluZm8tPmZiWzBdOwogCXN0cnVjdCBmYl9pbmZvCSAgICpmYmluZm9f cG5sID0gaW5mby0+ZmJbMV07CiAKLQlkZXZpY2VfcmVtb3ZlX2ZpbGUoJnBkZXYtPmRldiwgJmRl dl9hdHRyX2ZicmVnc19jcnQpOwotCWRldmljZV9yZW1vdmVfZmlsZSgmcGRldi0+ZGV2LCAmZGV2 X2F0dHJfZmJyZWdzX3BubCk7Ci0JZGV2aWNlX3JlbW92ZV9maWxlKCZwZGV2LT5kZXYsICZkZXZf YXR0cl9jcnRfc3JjKTsKLQogCXNtNTAxX2ZyZWVfaW5pdF9mYihpbmZvLCBIRUFEX0NSVCk7CiAJ c201MDFfZnJlZV9pbml0X2ZiKGluZm8sIEhFQURfUEFORUwpOwogCkBAIC0yMjMzLDYgKzIyMTMs NyBAQCBzdGF0aWMgaW50IHNtNTAxZmJfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCiAjZW5kaWYKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgc201MDFmYl9kcml2 ZXIgPSB7CisJLmRldl9ncm91cHMJPSBzbTUwMWZiX2dyb3VwcywKIAkucHJvYmUJCT0gc201MDFm Yl9wcm9iZSwKIAkucmVtb3ZlCQk9IHNtNTAxZmJfcmVtb3ZlLAogCS5zdXNwZW5kCT0gc201MDFm Yl9zdXNwZW5kLAotLSAKMi4yMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36578C06513 for ; Thu, 4 Jul 2019 08:47:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0762A218B6 for ; Thu, 4 Jul 2019 08:47:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562230034; bh=9kr+WquUsx/ezUvWIT9JMoBqrRGzTuebO01ejx6/NRw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=R1ZrXM49mGjfmDp90fTcsru6ZPa3RnWBJN2uS4gpmIkjjo1EJdN1AKYoBPmHShZN6 SEqxFGHwOg4pNHKALlfWgPKfPtBPhio0Qh1nGLx/u/nasaeMaqZTyQJ5uG1KCf61iE jphiBCT9y/mUB5diUujTBxLa3nwpQSouD9tuOLiY= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727452AbfGDIrM (ORCPT ); Thu, 4 Jul 2019 04:47:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:54492 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727413AbfGDIrI (ORCPT ); Thu, 4 Jul 2019 04:47:08 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A113F218A6; Thu, 4 Jul 2019 08:47:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562230027; bh=9kr+WquUsx/ezUvWIT9JMoBqrRGzTuebO01ejx6/NRw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2TR1gRN+oqWdeQDSWJvCKh7HzTKLd6dE8gajijp4mu1AYkPuXfIlFWNHNkf3Fk426 XcZJ74dIURrNuzD004fFCALLfWCZSt8ElpRqi2KKTRbXuYF/9pufzkJtKve9vg8odo +w5WYKJKuOX7MVh4ZmcbYP+gZkbz3XTG2rLVlNeY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Bartlomiej Zolnierkiewicz , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Subject: [PATCH 09/11] video: fbdev: sm501fb: convert platform driver to use dev_groups Date: Thu, 4 Jul 2019 10:46:15 +0200 Message-Id: <20190704084617.3602-10-gregkh@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190704084617.3602-1-gregkh@linuxfoundation.org> References: <20190704084617.3602-1-gregkh@linuxfoundation.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Platform drivers now have the option to have the platform core create and remove any needed sysfs attribute files. So take advantage of that and do not register "by hand" a bunch of sysfs files. Cc: Bartlomiej Zolnierkiewicz Cc: dri-devel@lists.freedesktop.org Cc: linux-fbdev@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/video/fbdev/sm501fb.c | 37 +++++++++-------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/drivers/video/fbdev/sm501fb.c b/drivers/video/fbdev/sm501fb.c index dde52d027416..c633ee76a73d 100644 --- a/drivers/video/fbdev/sm501fb.c +++ b/drivers/video/fbdev/sm501fb.c @@ -1274,6 +1274,14 @@ static ssize_t sm501fb_debug_show_pnl(struct device *dev, static DEVICE_ATTR(fbregs_pnl, 0444, sm501fb_debug_show_pnl, NULL); +static struct attribute *sm501fb_attrs[] = { + &dev_attr_crt_src.attr, + &dev_attr_fbregs_pnl.attr, + &dev_attr_fbregs_crt.attr, + NULL, +}; +ATTRIBUTE_GROUPS(sm501fb); + /* acceleration operations */ static int sm501fb_sync(struct fb_info *info) { @@ -2016,33 +2024,9 @@ static int sm501fb_probe(struct platform_device *pdev) goto err_started_crt; } - /* create device files */ - - ret = device_create_file(dev, &dev_attr_crt_src); - if (ret) - goto err_started_panel; - - ret = device_create_file(dev, &dev_attr_fbregs_pnl); - if (ret) - goto err_attached_crtsrc_file; - - ret = device_create_file(dev, &dev_attr_fbregs_crt); - if (ret) - goto err_attached_pnlregs_file; - /* we registered, return ok */ return 0; -err_attached_pnlregs_file: - device_remove_file(dev, &dev_attr_fbregs_pnl); - -err_attached_crtsrc_file: - device_remove_file(dev, &dev_attr_crt_src); - -err_started_panel: - unregister_framebuffer(info->fb[HEAD_PANEL]); - sm501_free_init_fb(info, HEAD_PANEL); - err_started_crt: unregister_framebuffer(info->fb[HEAD_CRT]); sm501_free_init_fb(info, HEAD_CRT); @@ -2072,10 +2056,6 @@ static int sm501fb_remove(struct platform_device *pdev) struct fb_info *fbinfo_crt = info->fb[0]; struct fb_info *fbinfo_pnl = info->fb[1]; - device_remove_file(&pdev->dev, &dev_attr_fbregs_crt); - device_remove_file(&pdev->dev, &dev_attr_fbregs_pnl); - device_remove_file(&pdev->dev, &dev_attr_crt_src); - sm501_free_init_fb(info, HEAD_CRT); sm501_free_init_fb(info, HEAD_PANEL); @@ -2233,6 +2213,7 @@ static int sm501fb_resume(struct platform_device *pdev) #endif static struct platform_driver sm501fb_driver = { + .dev_groups = sm501fb_groups, .probe = sm501fb_probe, .remove = sm501fb_remove, .suspend = sm501fb_suspend, -- 2.22.0