From patchwork Tue Feb 24 20:33:32 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Torsten Ertbjerg Rasmussen X-Patchwork-Id: 23641 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from wa-out-1516.google.com (wa-out-1516.google.com [209.85.146.160]) by ozlabs.org (Postfix) with ESMTP id A4301DDE00 for ; Wed, 25 Feb 2009 07:33:48 +1100 (EST) Received: by wa-out-1516.google.com with SMTP id m27so1154298wah.1 for ; Tue, 24 Feb 2009 12:33:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:received:x-sender:x-apparently-to :received:received:received-spf:authentication-results:received :dkim-signature:domainkey-signature:received:received:date:from :x-x-sender:to:cc:subject:message-id:user-agent:mime-version :content-type:reply-to:sender:precedence:x-google-loop:mailing-list :list-id:list-post:list-help:list-unsubscribe:x-beenthere-env :x-beenthere; bh=Wsjh1DYy7tbRvr2owc0d4rbgQzom0DzViA0sDabEIdc=; b=Ypg2n0jcKylmvGJoyT3r5l0g4h4QcVzV3QBrewh5sDJyh8OKSP8pPq6IdeM8KqLBUQ yoVRlT/Y9eoqgx9QQYOqQ7iDxxF7SKjOjNpHO1U1wWIoJWO7zId9QYZDD+TyXmnsnJRJ wZetyq98W96jPu7JwK3MbpoDFjB0TazgywOzE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-sender:x-apparently-to:received-spf:authentication-results :dkim-signature:domainkey-signature:date:from:x-x-sender:to:cc :subject:message-id:user-agent:mime-version:content-type:reply-to :sender:precedence:x-google-loop:mailing-list:list-id:list-post :list-help:list-unsubscribe:x-beenthere-env:x-beenthere; b=TPotqLe7lzopN2ZPj3lNHtMUjl91CmC/3fXsCNBWNIsbUj5kY5IWyXGH6Xzky71Il1 lDWWdeZ2/NvTygMjY7V3pYhjZI4miH8vw4I2XUNee9uOo+VJTZRusJPRWJMFr3XZ4gyj wUk31566ebS6kYTFxmk82ChGewYBhRVFwgL8k= Received: by 10.141.142.1 with SMTP id u1mr648651rvn.3.1235507623461; Tue, 24 Feb 2009 12:33:43 -0800 (PST) Received: by 10.230.8.5 with SMTP id f5gr1939vbf.0; Tue, 24 Feb 2009 12:33:43 -0800 (PST) X-Sender: ertbjerg@gmail.com X-Apparently-To: rtc-linux@googlegroups.com Received: by 10.223.105.210 with SMTP id u18mr90807fao.4.1235507622039; Tue, 24 Feb 2009 12:33:42 -0800 (PST) Received: from mail-fx0-f174.google.com (mail-fx0-f174.google.com [209.85.220.174]) by mx.google.com with ESMTP id 14si746680bwz.5.2009.02.24.12.33.40; Tue, 24 Feb 2009 12:33:41 -0800 (PST) Received-SPF: pass (google.com: domain of ertbjerg@gmail.com designates 209.85.220.174 as permitted sender) client-ip=209.85.220.174; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ertbjerg@gmail.com designates 209.85.220.174 as permitted sender) smtp.mail=ertbjerg@gmail.com; dkim=pass (test mode) header.i=@gmail.com Received: by mail-fx0-f174.google.com with SMTP id 22so3153345fxm.18 for ; Tue, 24 Feb 2009 12:33:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:x-x-sender:to:cc :subject:message-id:user-agent:mime-version:content-type; bh=0rmYfXV2QFqvyKnRbUpWzHJb3SygUux5BKmK5Wmu3T4=; b=CfCEX70KoHSVLAWdzGo6HTV5NFWRgqgAcLWsA1S7Yd6+gPwucA8JzyrsxJEOHXZigL WGqhU0UCGsiY735K3Y4LzNwHh3p4U2RVDaZOCn/YniMXoImFv8rtxLzcCYM7rP4+sHpD rmaAT/PT4iEqfbI6L2vDM/y3aVzzdwQSBG17s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:x-x-sender:to:cc:subject:message-id:user-agent :mime-version:content-type; b=Y15H4LVXlQx+X9mYBUgGxm4D3546e0tNgu4W+yU9yraEodgWGAyf4Pqlc8HU4wpuao oxjzEkH54tcsKHYV/IcL6dqlg5NursQ0I5Czr61pebtPLXleHWmUUq6nkF1kT3MlMRcQ SrvJrLHLpZ4UkOnLGF6U3Bk+4DcQfrGsZ8hbA= Received: by 10.86.95.20 with SMTP id s20mr106296fgb.4.1235507620622; Tue, 24 Feb 2009 12:33:40 -0800 (PST) Received: from sif.local (gw.dsa-net.dk [93.176.64.4]) by mx.google.com with ESMTPS id l19sm538394fgb.57.2009.02.24.12.33.39 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 24 Feb 2009 12:33:39 -0800 (PST) Date: Tue, 24 Feb 2009 21:33:32 +0100 (CET) From: Torsten Ertbjerg Rasmussen X-X-Sender: ertbjerg@sif To: rtc-linux@googlegroups.com cc: anemo@mba.ocn.ne.jp, david-b@pacball.net, alessandro.zummo@towertech.it Subject: [rtc-linux] [PATCH v2] rtc: fix static nvram attribute for ds1742/d1743 Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) Mime-Version: 1.0 Reply-To: rtc-linux@googlegroups.com Sender: rtc-linux@googlegroups.com Precedence: bulk X-Google-Loop: groups Mailing-List: list rtc-linux@googlegroups.com; contact rtc-linux+owner@googlegroups.com List-Id: List-Post: List-Help: List-Unsubscribe: , X-BeenThere-Env: rtc-linux@googlegroups.com X-BeenThere: rtc-linux@googlegroups.com This is an updated patch, based on the comments recieved on the first version of the patch. This patch have been tested on 2.6.29-rc6. Signed-off-by: Torsten Ertbjerg Rasmussen Acked-by: Atsushi Nemoto --- drivers/rtc/rtc-ds1742.c | 31 ++++++++++++++----------------- 1 files changed, 14 insertions(+), 17 deletions(-) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. -~----------~----~----~----~------~----~------~--~--- diff --git a/drivers/rtc/rtc-ds1742.c b/drivers/rtc/rtc-ds1742.c index 8bc8501..0924945 100644 --- a/drivers/rtc/rtc-ds1742.c +++ b/drivers/rtc/rtc-ds1742.c @@ -57,6 +57,7 @@ struct rtc_plat_data { size_t size; resource_size_t baseaddr; unsigned long last_jiffies; + struct bin_attribute nvram_attr; }; static int ds1742_rtc_set_time(struct device *dev, struct rtc_time *tm) @@ -157,18 +158,6 @@ static ssize_t ds1742_nvram_write(struct kobject *kobj, return count; } -static struct bin_attribute ds1742_nvram_attr = { - .attr = { - .name = "nvram", - .mode = S_IRUGO | S_IWUSR, - }, - .read = ds1742_nvram_read, - .write = ds1742_nvram_write, - /* REVISIT: size in sysfs won't match actual size... if it's - * not a constant, each RTC should have its own attribute. - */ -}; - static int __devinit ds1742_rtc_probe(struct platform_device *pdev) { struct rtc_device *rtc; @@ -199,6 +188,12 @@ static int __devinit ds1742_rtc_probe(struct platform_device *pdev) pdata->size_nvram = pdata->size - RTC_SIZE; pdata->ioaddr_rtc = ioaddr + pdata->size_nvram; + pdata->nvram_attr.attr.name = "nvram"; + pdata->nvram_attr.attr.mode = S_IRUGO | S_IWUSR; + pdata->nvram_attr.read = ds1742_nvram_read; + pdata->nvram_attr.write = ds1742_nvram_write; + pdata->nvram_attr.size = pdata->size_nvram; + /* turn RTC on if it was not on */ ioaddr = pdata->ioaddr_rtc; sec = readb(ioaddr + RTC_SECONDS); @@ -221,11 +216,13 @@ static int __devinit ds1742_rtc_probe(struct platform_device *pdev) pdata->rtc = rtc; pdata->last_jiffies = jiffies; platform_set_drvdata(pdev, pdata); - ds1742_nvram_attr.size = max(ds1742_nvram_attr.size, - pdata->size_nvram); - ret = sysfs_create_bin_file(&pdev->dev.kobj, &ds1742_nvram_attr); - if (ret) + + ret = sysfs_create_bin_file(&pdev->dev.kobj, &pdata->nvram_attr); + if (ret) { + dev_err(&pdev->dev, "creating nvram file in sysfs failed\n"); goto out; + } + return 0; out: if (pdata->rtc) @@ -242,7 +239,7 @@ static int __devexit ds1742_rtc_remove(struct platform_device *pdev) { struct rtc_plat_data *pdata = platform_get_drvdata(pdev); - sysfs_remove_bin_file(&pdev->dev.kobj, &ds1742_nvram_attr); + sysfs_remove_bin_file(&pdev->dev.kobj, &pdata->nvram_attr); rtc_device_unregister(pdata->rtc); iounmap(pdata->ioaddr_nvram); release_mem_region(pdata->baseaddr, pdata->size);