Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932141AbbHEXRg (ORCPT ); Wed, 5 Aug 2015 19:17:36 -0400 Received: from mail-bl2on0081.outbound.protection.outlook.com ([65.55.169.81]:46576 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753204AbbHEXRd (ORCPT ); Wed, 5 Aug 2015 19:17:33 -0400 X-Greylist: delayed 20138 seconds by postgrey-1.27 at vger.kernel.org; Wed, 05 Aug 2015 19:17:33 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=David.Daney@caviumnetworks.com; Message-ID: <55C29981.8060308@caviumnetworks.com> Date: Wed, 5 Aug 2015 16:17:21 -0700 From: David Daney User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: "Rafael J. Wysocki" CC: David Daney , Tomasz Nowicki , , , Len Brown , Robert Richter , David Daney Subject: Re: [PATCH] acpi, property: Export acpi_dev_prop_read_single call. References: <1438729319-9146-1-git-send-email-ddaney.cavm@gmail.com> <55C24737.8000309@caviumnetworks.com> <55C26EB9.7010504@gmail.com> <1501387.bDOHyjjWvt@vostro.rjw.lan> In-Reply-To: <1501387.bDOHyjjWvt@vostro.rjw.lan> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [64.2.3.194] X-ClientProxiedBy: BY2PR07CA062.namprd07.prod.outlook.com (10.141.251.37) To CY1PR0701MB1728.namprd07.prod.outlook.com (25.163.21.142) X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1728;2:9W9I8IljNsLJocB09bzEI7Z+4qp4fnDqDx+kBjb3rVCDkvSOFK2wHrmB0jiN5A/F3CYCYoKAKneNx9ASoh6P99bFHyJudNzU8cPyW9RaUhPMTSpRboPE7JUq2uNxFA7V1NM9tdySb2rd3qjaoqvydHdqhabEWUqR3K7up0rzvhU=;3:pEXw1HegVTPpRQHfCd3OVppOGdv4teWrahOCw8dOSPhBx1yz6h7fxdO5ffpPwm7xyK3+5y+ZiURghNVYM+Rw3sFQe94et6RVKnxMO/6Oum08wEwVtuC8qlM3d1qYAC0p/grnrxrPiN5O5L6S9Y8Gzw==;25:9ACiHp9828TuaILtkBclxBkxN7uD6hp4/Cma6dkHfLpDGKkJxKpVMePSz1xwJ54rGXl4Ss5ZJmNGMCDr16aWlbTCfxvZTMSvQSgRxwX0OdlY7acZjE/oYi0R4VU2fuW1OgWnyl9uqZq48/8iGQ78eU1PQyDlt28CApYEBppgGVX5mhacazBO8Ij3g55ag8VeBNcAx1s7AzCSAbvnOI6HBuh/MFQXdv2OD/Dpw6i+hlSyf5NGnZd6ieLEKSAaPmtR X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1728; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1728;20:AWEE6FOdQxWncmOLj5nl05E5ntCe8fMNQ6lSceaaFrhNoHiek1PSFIccGH0W1FYq6m1WiP9Qz8meNHbCmKtWUY8u0YGxQWOzhPKjyKGLi3wxPzTL/9FuFUNxS97xkYsTg2Y9Z4hYY23SLLW1Yg+lmhmvsFjlqSrz3YEs+wtkNg8Oq5zMZWvG4gQdPVIGCybLDC3o0ePoRgLbpbZmdwlbn0Ra9lFZzfUR81Hgmqb1Ctb3tgXgn/OBWXMh9UIQuOOkBFhUpoHBzPPM8touKB+ZgbWJ/xaIgXGjEFinAQunFh2Gsg/YFph3UfBrVITfrGvuGn7Y0P+zpTgNmzNU+u3ONtvABd8J97JztHIoTrumwJ61YaeHEcOwbHRhD/SltrU+hbLgDPqNVCGQRDN3HSaE29J3k4nHoax2lOn4qiN03wjjkWimTAb/OTepYTQXp6mn4yzMb1jaByvKKUWbb9HSS7EkXpMXOAx6jHqI5Y3vZI3VXGbzCLKWuEms2ixEg79HnJjTIcnoOSPo0lkvOJe6M7wmsBLFHDnv0e8ru9XjSCxHXFIQKfgICA2KHF0N04gRfrvjGPsStJXIKX/GoSMNJ2LoCCU50HHQKn6gyel09U0=;4:CTplu1dfS559WfVE7lHTvTAiMp0DNkJK5SUC2wJBtM50jqFawBSFVZHr9jjZICvIrseEeImPKSYuCecsUSXkPv4VJpjcIRbppiD4M9seLG0uaBjIuReZVj6goSsT7KGot9wB3ipwecX6GUrwqGa159S3p0p1WQiQxmPIWQepZ1ZBt2bDganISHsg2/vmnPo0IBgLi625t4zMOhfH46N74Zz2LBOyvb+d2hIeWpVNikhbNz5I10oXvWBkO/PbMu6tf+I2ucFYGSwIlUwP95e8XEdyY/U7VpZQXbBKBx1F52o= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR0701MB1728;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1728; X-Forefront-PRVS: 06592CCE58 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(199003)(24454002)(189002)(377454003)(164054003)(479174004)(65956001)(23676002)(92566002)(59896002)(46102003)(189998001)(4001540100001)(64126003)(42186005)(33656002)(87976001)(77096005)(80316001)(50466002)(36756003)(68736005)(62966003)(40100003)(101416001)(76176999)(93886004)(77156002)(106356001)(47776003)(65816999)(81156007)(97736004)(2950100001)(5001960100002)(66066001)(54356999)(5001830100001)(64706001)(110136002)(19580405001)(19580395003)(69596002)(122386002)(83506001)(5001860100001)(50986999)(87266999)(105586002)(65806001)(53416004)(4001350100001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0701MB1728;H:dl.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjA3MDFNQjE3Mjg7MjM6UUo2WnpoeWRkN2tGb0VFSnpJMEREek5Z?= =?utf-8?B?ZWZkK2hQSXZpY04wd3BCNU5HSHJkTWhkbTFCZGZhQkMvYjVKRzBNMWdTS0lx?= =?utf-8?B?QlpYYllFSmlTNmFEM0V0RmtBVmkxQkw3Y0FzNnFFTVBBUThQb0dRZDRieVhB?= =?utf-8?B?NmFoNDVCUDhTelRXQ0FQbWxPV1ZueEhPZE5DZzROaTZQZkE1MmJOaXdDUkx1?= =?utf-8?B?ZE5XOURvbS9IWXd0VnZvTzI3WmRqNmhFaVJwcldOYXhIRklXU3pleU5LSU1M?= =?utf-8?B?VWtHQk5naVdPdzZ6RmtVZmsxY3pLd1J4UnUrL2E5cTRsaU9hcHJDa0YrNHhj?= =?utf-8?B?dDNmNGYzUU1STk8zeUJxelV4cGR6RUVEVDlvWGV5aEtJdFBWM3dmN01XT00y?= =?utf-8?B?cjdEcTVGa1dlTVZYbHdsNG5wRFFmVlRId2RZMlJ0Q3ZlZ3RObHg5S2YxL0pj?= =?utf-8?B?VVoxaUlSQ3N6YmZnZlJiWTNseDNUWEwrL3VZQTNYc1dZM1RYQzV0c3B1V3hr?= =?utf-8?B?VjhPMVdab08xbW0zYzFBcVNFanpJZGdUckNqR0JFWXNoNGJDQjl6QzZuVTMr?= =?utf-8?B?cUlyZnlTdmFFV1d0SU5vbWxNN2pYSTRxb1ZmMThuU0VzZkp3T2xMUC9QdnhS?= =?utf-8?B?U1dQaEZzdmttZ3ZWYzJNVEFmc2p3aXBCempTWS81L2FkQkJ0SU4xK1lwWnEx?= =?utf-8?B?SDNYQzN2QmFVdzBwVVAyYUFhSkFtZmREeHVURmx6VmdRWWc5N0dhcG1IUEI1?= =?utf-8?B?VWNPSnlVMkMzQTluSnkxb05DYVY5TDZRVHZSYW5HRWNpUjdnMmFuL24zaGNv?= =?utf-8?B?R2VQak0wMDhXQmdtam1wUGJwRzkwZDlaYmpRWXc0YU1DeWl4UTgxWDdQakZp?= =?utf-8?B?QXNGcEp3ckVsemlqeXQzUWEyN0s4L3ZNQ0FhazI4YlZJeUNwTDYvNlVKTE5H?= =?utf-8?B?bXlYSXJZcys0TWhFOFdyck9QVTd2VFNSekV2NVdUejFpTWV6QVpLeVJTem1n?= =?utf-8?B?a2tvYXhhMGJ3aWJXYzBOenpabXBJWHQvMDU3UzhncGplRXdXWWFnNWVEZnh0?= =?utf-8?B?NTNqam1YK3dBYU5nV1Ivc0IvaEQ4ZERGUzNNMHJ3VisvMjBueEZLajN2QTR2?= =?utf-8?B?Zm9FV3B4eGxRQnhacFAySEFvcE9SL2lkV0VyWGN0UTlrNUsrNFpUaTRWcW85?= =?utf-8?B?ZUlTeFNkeUxvQStuRWFSWmJSc2FHMko5aGFvQ09nbTduUHVwL0NtVDM5VVdu?= =?utf-8?B?T0Z5cy9TWThmRVp1czE1aUM1SG9uMXFZMm1UQjNUZUxtaW52MVFkOWhCdmFG?= =?utf-8?B?Q0VSVW5GMWc5SmVZQWZtL3M4Tm0xR1F2SC9IV3ZQM1BFQ3QyQmtKSzhJRkRy?= =?utf-8?B?amFjU2F6djVaaXpUUklHcWpNWFVxY3JMdHRnYVRJQm8zWG9NRGhETE4vQVp2?= =?utf-8?B?Z0RGSGlOM1hiUmFXL3pkL2Q3aVVEU3I5TWlpQUdOOUF6T2E3cjh6K1F0dzFr?= =?utf-8?B?K1h3N2VoUUJQN3diOTUyZnJ4UEN3UEVkWDhMMjJEY012Rkx3aFhXSlNPRjF0?= =?utf-8?B?S3ZCaTlySTlJT0RlcE90NnpQUWlkdHp3TmdVQkl4dXBVY0JCdDllck1XSk03?= =?utf-8?B?SUptTzJ3dzhidzlJZ2hYeDVEbU5VSHdGUS9keEpyaGIxeks0VlhKbEppMFh2?= =?utf-8?B?M3o1OGUwRXVjK0FwNWxVdzd4NjUrMzRKdUlGRHc5V1RKSVNRVVd5OWkxZEVa?= =?utf-8?B?bGYwQzRMd1J3Q3lSRGRVNHFFaXhFNk13UVNaZlFYSlRtYlZGWVg1U0pmWk04?= =?utf-8?B?S2Y1WEVPMVN2UU5kNVBPWitnaHRQMFBXL2xVV2xZK0V5WmF5Zz09?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1728;5:IpsBmrKLHdk5oqzEGFvnDDWeM/06mzPJwQrjjwo5fywHjY1gY+Vgbnw8Dt/8mgGbUvLVlYEe+JK0kdKOx75jgLHyJYKUIjDLB29OEDzS6QicO5PZAvx8QafHayHkZnUxcwZYCIFHtM5IEDLRrai0rQ==;24:2Wwd1XwktfCphs8LL4rFTp5+hiX9YUOcBbyhh8BqMb9oepi7xIZlfo/K1e5mnJmgs/17ird/5TbjSD0FHkdmo5ycMY+W9d2PCPouPSSwU7s=;20:DPh0KW6vJyI8fieIUhQvC0KK+/ziMrUPw6n7mwSejO8l8uYLD1/uViVWLyA/YvCZStQDjK9knwLUoOhL5/hI7A== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2015 23:17:30.0798 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1728 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2457 Lines: 69 On 08/05/2015 04:23 PM, Rafael J. Wysocki wrote: > On Wednesday, August 05, 2015 01:14:49 PM David Daney wrote: >> On 08/05/2015 10:26 AM, David Daney wrote: >>> On 08/05/2015 06:43 AM, Tomasz Nowicki wrote: >>>> On 05.08.2015 15:48, Rafael J. Wysocki wrote: >>>>> On Tuesday, August 04, 2015 04:01:59 PM David Daney wrote: >>>>>> From: Tomasz Nowicki >>>>>> >>>>>> Fixes the following build error when building drivers as modules: >>>>>> >>>>>> ERROR: "acpi_dev_prop_read_single" [drivers/net/phy/mdio-octeon.ko] >>>>>> undefined! >>>>>> ERROR: "acpi_dev_prop_read_single" >>>>>> [drivers/net/ethernet/cavium/thunder/thunder_bgx.ko] undefined! >>>>> >>>>> Can you please tell me why the drivers in question use that function >>>>> directly, although they aren't supposed to? >>>>> >>>>> Clearly, their authors had not tried to build them as modules or they >>>>> would have noticed the problem at the development stage already. >>>>> >>>>> What would be wrong with using the generic device properties API >>>>> instead? >>>>> >>>> Yes, you are right. We should use: >>>> int device_property_read_u64_array(struct device *dev, const char >>>> *propname, u64 *val, size_t nval); >>>> >>> >>> Thanks all, for the review and suggestions. We we try the suggested >>> approach and see how it goes... >>> >> >> Actually I don't think device_property_read_u64_array() will work. >> >> We are traversing a reference to a different acpi_device via >> acpi_dev_get_property_reference(), > > Why? Network device has a "phy-handle" (traversed with acpi_dev_get_property_reference()), and we want to get some properties of that phy. I could turn the question around to you: Why export acpi_dev_get_property_reference()? If there is a reason to export that, then you should let people use the result. > >> so there is no struct device * >> available for a call to device_property_read_u64_array(). This looks >> like a deficiency in the device_property_* framework, so for the time >> being I guess we will call acpi_dev_get_property(), which is exported, >> and decode the thing in the driver. > > Please don't. > > I'd like to understand what's missing. > > Thanks, > Rafael > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/