From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965435AbcBQRnm (ORCPT ); Wed, 17 Feb 2016 12:43:42 -0500 Received: from mail-bl2on0085.outbound.protection.outlook.com ([65.55.169.85]:63740 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S965077AbcBQRnj (ORCPT ); Wed, 17 Feb 2016 12:43:39 -0500 Authentication-Results: spf=fail (sender IP is 66.35.236.236) smtp.mailfrom=opensource.altera.com; ettus.com; dkim=pass (signature was verified) header.d=altera.onmicrosoft.com;ettus.com; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: konsulko.com; dkim=none (message not signed) header.d=none;konsulko.com; dmarc=none action=none header.from=opensource.altera.com; From: Alan Tull To: Pantelis Antoniou , Rob Herring CC: Frank Rowand , Grant Likely , , , Moritz Fischer , Pantelis Antoniou , Alan Tull , Dinh Nguyen , Alan Tull Subject: [PATCH 0/1] of overlay callbacks Date: Wed, 17 Feb 2016 11:41:24 -0600 Message-ID: <1455730885-1514-1-git-send-email-atull@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BY2PR06CA061.namprd06.prod.outlook.com (10.141.250.179) To CY1PR03MB1519.namprd03.prod.outlook.com (25.163.17.25) X-MS-Office365-Filtering-Correlation-Id: 642b400d-ed45-439d-be93-08d337c1dd62 X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1519;2:mik/ELB7mUmM/9l/5gHrYs1LzrHFZRI1kdrN5oDep+Irc//6dFDIOY8rCaZavGMDEM2d+WKdNsRYCKs5kgzgQ7zq6qNP4BDM7tjAsfVCg4AmUROPSo/4HkQjLPX8RNy2pehtsFZJTH0GANPZOq75VIAkFJFlAflAmA02wcgkovXHSSKC8wvQ5WYyJjbzl5LG;3:2UdQ8MQ/UJUuQK8IAUqJMFW5TakD2L3ll7tLVvV5Y6oXrjwZM0TBf0taGk75RATAG3ZXb3rzjQQlUQYASKvZ2pizr2errfkpkpb40CZtt/TKTGDjWUB7mFQcIufXVapa;25:+YjAVwM8Uv5dEoOxK8cFX8XO6qTdJNtx/A+RCmX4+51pO/PqBDkmsny0NTpCZ3B1Gvw+6uP2tniQZSokQzqp+whBQhduKZ5K51YL4VltBPWvOoaVRmgucfHEaa2P53NzXNos5kO3Ix90oVZhi7S+6bySxO84ZPYjZmID7611yw7mO+QAseE3rTh6PBZ5XwIhIaTcExwGzh7TgGEFIRbealIrff0NZqy2M29Imr8+HWN3prFu3VkCkSz5G5BbswPH2ZbmkgbUNNxOIAab5NRk/nRg2FPeIMF9ggldVtqn7JJfBfH8LvJoOO5cnTaLl02e;20:naOX0gGVXluwl296PRp0NNkgcdEuaSMReex9/uUja3kCtJGNIDgls0dZTI2ZpFoH+7Hxn9VbXohh7ttYzJR0UGFsXNaGGDPjz7vKNl9qE8nHT897p/AiyKliIQqzkZfdF3+1FQJ3Br4S3GnNhOgc4PyO1wYr4PdGM6peZnGvYZw= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1519; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:CY1PR03MB1519;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1519;BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(13024025)(13015025)(5005006)(13018025)(13017025)(13023025)(3002001)(10201501046);SRVR:BLUPR0301MB2020;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB2020; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1519;4:auXETJ9T/NsNY2C2KqBJjhn5f+n5HBCFfrjxdMWIAenjbc62A6zRl1jzbtzVKaeqeeaIlm+wK43cYQgr91axYILoVx5PYNlRQvw3CzY3omQxO6DYZshDzMxGBfGUy7JXoLi3E/V2Q7pT7AXOOAe9q1J8cJRzuYwlO8WmBpZvQLuZlka8Q0J7vzEUKyd0fmpUXE70734XsRlYMMpuedIGUBEDlP5Jy82cj9nOQd/R2ArmlK0vB37g1VGI5gxjUnGCIH3v0/zao9ed3WqFORWKRLMkUVOthiWy/t2IrfgJpQubNx72x14UHI5pDE8HYXimJdZVR4ujNBwFWWB+6ZipXEC+TYQ4YO+LyZ5r0C46GFcaak/sZmTgSGt9M10TI5kN X-Forefront-PRVS: 085551F5A8 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(229853001)(53416004)(86362001)(47776003)(40100003)(50226001)(87976001)(189998001)(66066001)(50986999)(5003940100001)(4001430100002)(6116002)(48376002)(3846002)(5008740100001)(92566002)(1096002)(122386002)(42186005)(586003)(5001770100001)(33646002)(2906002)(77096005)(107886002)(5001960100002)(5004730100002)(4326007);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1519;H:linuxheads99.altera.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1519;23:0yva04Pn+LcIT52c/e8ZurHB3vRvFDlUUwzDWcHfTKH1zqcJHpvsQQPasY4VG3qWE8F1z042ORIyNj1RKncoeAHJfRn6CL+G9ice3uyvdI9VFbRyxLP+IoT+yCbC4qe7DNUeEQNqzonFeDMz5qlWhsXCj43RfEueNt+zKKbF/2+1/jtaZmE1HI73E/xpWzmVvMjnDxo1hSX1p1yCiqjNB8zAFFRUXM275iExJXeqvEUgW9jLp0q7wG6ezaWcJ47xz1EjEX2T3aPN2AjFF4WPHRClSEcDQ1qLoLyIg9gKZb+Q2ZYPP/q59LNiMs5Gwa0A2nt9QVGgk5IR/nZCpF4IwSfpB6lnm+RE5EZDy4PpnVrgr9IZGWoBQHN8sqPIfVCclEUT0huy2I9q1ELk99VHPlLqH9LLTzyIoDPxljwmEkhRBJZJTIoIdDDkCokS/4m+7FBa9TOdQex4MbcbTmhSW+VCSwuSZRhrRw8yoL7NuhsCqr7L/CJ3Bnda7bckdueA398EtzwzcUirS9VzPaw4LCCW2Nocnf5YZSSV7MnixKpkPwrm2B4rrNNpL/kYd1exnISNMYuxN+fQ8vARpA6k24Adbv3KDFgSxScacZ6ytw1Kk6BxHvl9gur7TGi2qDCx2Fneoc1mmVTJxwOqOPzbVZc47xNt9vUyDpvvN+3rC2rBAr7YKWZGW0RV83h0xUHR84pONURi/rouyScbEOM98TpLpSHcYXtWpU9tVTn4m21QMvUmWZc6kLHtTbBn6RaQl8F+gMEZOYa8GxbfK6xzBAhKU3c3O2VcYoeZVl2BUwipHaHde3Evtc6YOyATzc6We0aGHaRK60sAce2b625xQ6zhLPcxcMBNRcFSB4DryCr00IJRDOeo8F4rBjX9kia6 X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1519;5:i/RhKQZd7AEbMdXnhYNpT+/xU/c2y/k3Qu2B8WhlpLqtiPsGDJaz5mLAghlFK6g/+Jlf88hLGpWKofuh+xBbC4dhPkWL8MbxwY+12ggGztoZNoZQPHq9JQTIkAHIL4M9VUKhLEapw7YGJrpZmcUOPQ==;24:Oi4JI79MG0nAsDMI/anIF6frtEQpaxTWjITZWm6f9BSmRkl+i6+ia9dRiPoJVuwEUa5OHMj63Eeq3EBeJr0aZlb4ku/wvyPL4g14HUjuDEc=;20:varEVBMAzFAB5ZYDQsMJ+785wy93pk7ONXqxRRyjU9tWsR6ZK9AIJk9Oay6yd0JNC9R6OPeoCoLYSWd2mM+s+bdWzosKetshEdYNCg4YNAxpwFA3Z1TILr/ybCRpuUOW06wGZZ5bsfP/C3qUSMDfazVvCl+nDaSVGjASPcJDeqs= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1519 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1BFFO11FD047.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD047;1:kP1E6dvHr/QPQLMGkn3BxEYxMhdvfDhCoKU3vwAf/GCYE3JBq10IiR1EZGlxL59nbWkLnaJ3KGxU5+QF/sKBvt9YKoFnXVBXVjWD50XvSoabVQrW9YU23vdwE1zDrxa8k1sNwz+950LSOeIxieg8UZeHGOHNZkcPLRtzxmRbuGwhADxwlLnKr4/u1nwDjIFrlHnljf9aWZH0WWfH+jnwKdF5xZu5mzP7ivPHcHi1lmyWOZGuN6yC/Ilk3iySY95IYwuPhMzFrmaIYWlbtNJU4AUCWhBVXdXmmrLVVLPeTgWL50u6HYz8XLdensFf+XEHACfq9KJw61SMbcYfUV++uYKqIfYdEUyXGeZKL2TWkpHYzI+4njXhPShA0Pfwgofl7XiM0XuSH4iSTPgpaaxBS7Q+BdP6+Ae7pg1uYFLCnfM= X-Forefront-Antispam-Report: CIP:66.35.236.236;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(122386002)(50226001)(5003940100001)(5004730100002)(5001960100002)(5008740100001)(16796002)(5001770100001)(92566002)(11100500001)(229853001)(40100003)(107886002)(189998001)(21840400001)(53416004)(77096005)(86362001)(66066001)(956001)(47776003)(48376002)(33646002)(87936001)(4326007)(6116002)(1220700001)(2906002)(85426001)(106466001)(4001430100002)(105606002)(1096002)(50986999)(3846002)(6806005)(3720700001)(586003)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR0301MB2020;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;MLV:sfv;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB2020;2:SU6K3rgvjwE07X1VL73GKiwC6QP/QircJbAferUwHN4WoBBM+4YAZlagcu+Nl6kGWjpyCH6TYaPf8XlnprnSF/JXviw6qZfXOmAIiBGWZz6aYn8EghE/IllpcpncmZxjQRYJrcLycCFa2KFVHos5WsTEiUj/qXhOtAQB4eg41fjo1H/OBo8Xo4qc+252ZeOZ;3:8gy/Q1b1z/LAVHW84Q6k6zEOnMJ7drtzvE5PZgES+0DoOlBYieKZvQ9Gc9qxrs8uFGKwhA/UQ3V4R3VeSR0uJDQvQl5tHUI/d6cTDqy5Vz/IC4d0TWMOzojRuXXnDiJ1VTFCjA4D2m6mpzeoUhOwQKYEOCKvfWMEoRx1zfCIW6dDztXeKyTCuM5vOfS8Ai5T7+aDvBnrAjMAL0e7DO4yA/ZLIRI2XBZy7EkAteUaTOxER7mNxrNX1zpjzF+Hf1h3;25:kERd5AM6zUnqOP+l/9MsVGIud1H2RYUrK3XUsfyWXBnt9nKcdI9SyouHze+PpDIzGJ9oorOsQJ6QScluHcjl8DF1OBFCN0jXXKnXaB5naesCR6tAtPAtAFvyjQ5LuOITxcLerKsEeC4EqHnbvupArFewPVm6FktdGBr9gvQpB943dIT9RZpTWE1KR47GhyISGE5gU2lG5EWSfuELVBtcwykLzji5dRrjj+GnKBAdjPQhVYrfez0npEQLr1d94Fk/76CpAH/FZcr1WIDQeMmmPsQiQZPPRCnJFdJeMdYg3Buq8xaxM/oME3ZlW8+K1MyV;20:jh9/C7fwyhdpjG+u1MzvEa0ULfn9Ph+s5N2tkJooWUKOas5/geVYTBcalLbbrwSPT52NCISd4PfnxrJc3BIfFpodlu8MqzU9h8lbLJA1aU/aUOvfHPWVBbvndzlwOGm4hqcwc4I8/hy+Rg8lzE1m8kr5fsA+0DZTxiEapOfBHyQ= X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:BLUPR0301MB2020; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB2020;4:PPPh9zj3vurn5iB2qrOn4bG5ab3i+SIyALXdPsUzX46L9PcsBFhtbv+AXCYjAFekXUNTBAtDnS+0czAwDMSfZJuItqsmRjITZdtx2h+0p9KXljsZZedM6A5M4/Rf+6V9AUHohQVaOp7HSyvUCPG5V+/PBNaAPg8nHxPqwEZfg9UG+A+9FRSYcLEEjf5pwSahVc0QGEkF3iLxqpVUOyjzPqI90nLE2wE9BdmNkwfm9KC+Kor/luoXvdQtC+g8THbRMIJSIk78/efm0odXP5jY1qF4tQ4ZSeHlrilGMA5n1E5las7tw+zTicXMLhQ86yYCeSBLTSVSwUX71760b1H/gbFKgwdqhSqy3EM/GIvJMjeuOJFfU37VknnPAUzyAmKildN1TZmW3LDfj0z0jQD/z4x0mBCkV3vi474GacuZFJiA3hDNqutoTnCPXhO+RSreLXGym7CTn8J8L/jdT1gkSA== X-Forefront-PRVS: 085551F5A8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0301MB2020;23:NKVVQ3m7c38EKhLoyskfkwbaMqXVonDZr5pMv/c?= =?us-ascii?Q?r2ccCg51QSFcfL4T/u3K5Ne0u4uvyRoBFTegpi5MhhvtD/7cALKvrnvLF+Jv?= =?us-ascii?Q?AGwDb+1gBkrt6g/A2e0aHGVudpSZBXKeJhAW9AQ4OgQSrhWDo8HFXrutHRU9?= =?us-ascii?Q?xX4/piK7iGTCnQ09gzGl81g2onVKwF8WBTI/1Zevic7VyVKKXxUWbcQ73m7A?= =?us-ascii?Q?wBWQQO+5BbCXxo6wS+Kf5PiOdHaN+jlQ5zCLc56o1S05SrZW9YqxXmlVzAoh?= =?us-ascii?Q?kscUuaXxcc9b6cJGSwgrS/ISaST/66y+RCP1k78fD/rxkvAFW3UaA2iEie08?= =?us-ascii?Q?Xi2QaZHRtUVJZQh8fNhVSKG9vGXvBtw2AFlOdEKOpOWzVT5FvhbTgXuVQYNz?= =?us-ascii?Q?DWgnb6cNpMQQtXtM7dqZelgdeD3Xf9/aGDLB1Tr098vuR/smKCne2zk73CHa?= =?us-ascii?Q?ppE0Dl5+USQdfEDa2xneG081qRwNiLOx1uqgylqzkt8bi3+U37Vw4mR+oGXN?= =?us-ascii?Q?HQtMZrMyUZcHMo615PT4ClQltoCm2g5uTKQUUdFiZXMaV8CYW32p3LSI4o2F?= =?us-ascii?Q?vJgLylQw5oVsP6lQe6oD4XrB7JrOwRaCL82N3Y3hVskXeuVzKFtb3ZMU3kV1?= =?us-ascii?Q?484KBU/DqgTkLiy6Di6UT3VuWJ81HYTCF5kbfMqL2L6LTEfipA/jKza/eVGh?= =?us-ascii?Q?YrP+Y+S74DLgxyE23m5LPZ8wcSqiuPlPLSQ9pQ/5vRFWphC83eEyWhnD1pT/?= =?us-ascii?Q?j2HcndVrah/wEuAWGvX/QQXqj2nl0uiJ5wYwiX7R2fR4JDp74cNVfIvm4C17?= =?us-ascii?Q?nWQF+BNA2k9YygbOzUijCB5xdyCCVyLqfSZLQtDNyTJ7uC+VIy8AkG65hZIK?= =?us-ascii?Q?Kwx9qLFMCJsLZIoLSQAL/meYWo0AffXZhh0LuS3QV8kF2dubw40jLiZ1K2u4?= =?us-ascii?Q?jkXISg00fAIH0Wf726l6C1+zkNiF/g7KZgQ4LODvVC0Hk87N1MWKEltx0nSP?= =?us-ascii?Q?DfxTwHCHYykBe5VZLbjDD0XVNQnbhCCRB70YbnkIoXrStYHsKNohZGWrLEbh?= =?us-ascii?Q?fPxo7OZsjfRz6d04lEqFieHDwLFOxOSBdE1kwMpR2oiM4fwmcr7xtesY0QkX?= =?us-ascii?Q?So2vQiI/NewcReGXWbaiIRyvhnULWPSwTYQD3HZx07voUCjRAuF1c4DjzA1O?= =?us-ascii?Q?YE2KBfGRqH97K5ohaYo5+LsoD4zMD+HzJDL4C?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB2020;5:M7FVFKfw+SLe7d9s8CbsMs9ISmtXhRLBrq3dXJzD/8HA8taI0tSx53J1eIgDpT+e4gjvubSicB7aRax0Jweb0yO3eE8V0rWNJYDBf/C4xOXoj8WLbuasDHPTcZ1WDKoeCWqcUvw9X2Na4qRbWZVvQQ==;24:UohvICSQTTUWD3VDUHNgIPt3GTudP9U/NgSMh4Lof4RF3sTJJL/xHrdRtzaIdsWAqR3vsE9NM0DF8YEw0a2CGSFGbHWAj5/di7OFSw0xZf8=;20:NgaIrePPhIkKmVBknrkV6583UnnfwSjMiWv4iU5/F5x4AZDOXkTAQONax9TgKCkwg1PbXMjSaOBbIRT/2igsa5fmoVfb1yIVWkm862/L5TnpYCVaOweMZqE7lF+BItLzGIoAeh4b89zF1HPIWauEIWvtamj8kY6UsCjj3FCOCBo= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2016 17:43:36.7455 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.236];Helo=[sj-itexedge04.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0301MB2020 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [Resend as patch/cover letter got separated yesterday] Adding functionality for registering callbacks with the of overlay code. This will be useful for drivers responding to overlays and will allow their implementations to not use reconfig notifiers. Also the reconfig notifiers are too late as they go out after the overlay has been added to the live tree. My use of the overlay callback is to control FPGA programming from a DT overlay. The overlay would contain the FPGA image file name and the child device information. My FPGA code gets the pre-apply callback and attempts to program the FPGA. If the programming failed, the callback can return an error and prevent the overlay from being applied. If FPGA programming succeeds, the overlay will continue and be added to the live tree. The child devices in the overlay will get populated and probed. I've tested this with code that uses pre-apply and post-remove handlers. Tested on next-20160216 and Pantelis' current bbb-overlays branch. Alan Tull (1): of/overlay: of overlay callbacks drivers/of/overlay.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++- include/linux/of.h | 31 +++++++++++++++++ 2 files changed, 120 insertions(+), 1 deletion(-) -- 1.7.9.5