From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752579AbdGMQYb (ORCPT ); Thu, 13 Jul 2017 12:24:31 -0400 Received: from mail-db5eur01on0108.outbound.protection.outlook.com ([104.47.2.108]:5888 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751267AbdGMQY3 (ORCPT ); Thu, 13 Jul 2017 12:24:29 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=axentia.se; From: Peter Rosin To: linux-kernel@vger.kernel.org Cc: Peter Rosin , Daniel Vetter , Jani Nikula , Sean Paul , David Airlie , dri-devel@lists.freedesktop.org, Lionel Landwerlin , Boris Brezillon Subject: [PATCH v5 01/14] drm: rename, adjust and export drm_atomic_replace_property_blob Date: Thu, 13 Jul 2017 18:25:25 +0200 Message-Id: <20170713162538.22788-2-peda@axentia.se> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170713162538.22788-1-peda@axentia.se> References: <20170713162538.22788-1-peda@axentia.se> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [81.224.168.30] X-ClientProxiedBy: HE1PR09CA0048.eurprd09.prod.outlook.com (2603:10a6:7:3c::16) To HE1PR0202MB2556.eurprd02.prod.outlook.com (2603:10a6:3:90::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7778d26e-bacc-414b-c62d-08d4ca0ba0fa X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:HE1PR0202MB2556; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;3:Bewni2B+aQlQBILd1KkXdAUjdrA5993rO1ch+PIjD0iwE2ZJhL0I07dRmNPQ8Mj8ntSYQJaddvcSlE1uY5S1/nxRQMkAGvkeFc9w4v80bi7uFI1tlreMEH7DkaRipQnfd+2oEGf5N0tDksnuFpMXtrl6bxjwa1tYbrF0biOWJj4HPSDbAR9m3ngOOpVfoLEBQUyDslo4RXEq5ZV7Lbe/e6t32U7/ZmIpp8GCkVyIXN9cFaiSwALtF2mNpIsPGC+khK1F7ym1r+r6t0gcIMCBqIMeTjWFdGhX7wQofpFn9Fwvwc02J1KrqAz/FdOdjWYlI64HasN0EmHKgLHJz9vZAtHJNLlQHi0a0TfLHekPFfo4S0sNotxm5xUIQmkRtmBWBKRddixD7KZlFR0ec9F5SPiFWCexH96tT6s+H0w3tue8IYlHkgvZ/ZlSX8vzBaZlPot+uqTqf7fMsfKBX/ebELS1+Kdt8tvs6+jQeiNoz6x3IHKcxEZgT40lNE6T0kx4eKVV1CcFkPk3HeD5u+F7V8G0B77tVys/dUwnADNNZim/arxxffyibuNjQet8qEPDLVINelTPmu+iGW+Wt5xSLKEH0oQ4wOcFWIAGo9wvVtLkg3+mFRYgh+KcIMbes/1C/dmyKoGvIcsx6jsdrhAhdbG7Uoxy9STbtYT7OwaS79BHRtbsEABecc1d6Qn7EKGixpUm85fcgz7tYmeZ4qDXKw== X-MS-TrafficTypeDiagnostic: HE1PR0202MB2556: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;25:feCluu30TMPwcJ0mn2+0ASj752DvIHmpHWWF/Z5KNhBn/KeoK46Ut3NjioFHRrCwOAIYsYFPuHXUiI4/1/MI3ZHLBwfU4QW6Y4GTw4aDPXIB66Q9LqrW7t14BfS0zL0BhykLV9YBFZLKwLTSDNqIAsQa66sklFd+wVrDvYn3DMpYM+QTGEn4Qvp/hdL5lUvTXWIZ1MUff/zbxBiRck+mQgjrZITVDfGbS1HIYKNp2p1+B2vu6cIW4DG5qWt4vPAwHc0BjrlgM0PVmU9zTq30MTjBsazXjwgM0kSf0LUAfTEkKuAwifk5b1CCqjMtsO3SQW5L5Gh+wSnp0Ivosj9cSdt5sa8w8qRduoY1UAyX+CGa/P9v1EN3AnLn6Arq3sSTxaVoghkUW1PaN1XO8DUmRf1fZknehd2I9paTSJV9cRnJmxweKAzNucg6BGcyFIknHVFDC9ptkZKZZQUBId2Oa5OVMIsWN1LVQbjPweV4HtVrf3s6KjpUhtkg/82gcb4o8DT73/aXeh58LSQEQbl7HpzvilO3JlyHDR5TRyA/OG3lIdoYOZoBP0OCuSfAjrqEob4IiUBYfF0/LsRKT5zFGWzALNmQfvTe5/txj2SBpqAjcmI0KKg69UaEewSdMrGjVjT13TqMeRS6TSDGW0fsA9VE0cHiSDkr5dojykpxTC/ELzLhVcWUVCbUIHNvnGWAf2WNdHreM7cGOdIuUSC0mm44II3ULxnn2QTr6CrI9zuKpk7HfPxiMnTkE1o93iJy2+IID8t5Cb+t7YJB+yHnsUcsCT1EpeRdU2QU+NZCx9qZ3WYxN+6IU/EgI8GOXInYaMdlsSGPRpmAKy74Q+r3rm8yycg8G4xgKUjhd5EUeV1Dz/t31NAAreHYR/j+o/OS/bBjwPOK7TRUcLR5GZT30ShI+b6JRFnU2jcTkIn9mqI= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;31:pAmvzpew2lwVgqFDIMdvRJRft89wjqzzcep1WCIJtKouWJcrjN+eGMtrLcfyq8xCGyIN1612EgXtWE2b/DirtFA4ZFp2MhIuWtZrLh/wIgNc0qOsRw6VCIC2mZK6KvbW98gITaEUS2EvMrPIMsMaxqpWiUlmq76gcKrCDIa9WJJKTb4Dl7COYjWELYuIIzsdgts1LGZXozicI+NwcSzbCJfthy2vGUq26uFv4apH//e6E3tSRvGFccvsJyteGYFk65hR1kFFyGXtC/015nq5gHDn2JaH/0pOTsUU9xDAy7meVMee97AtcZVqxIqNrE/5+8REss3NjYlWo00/5PrIGloPMOOJoi7snONlLJ3qe3jIdvAksKNKSOLVqZAbEirnnkcZoYNI+ZrksKW6oFSGuZqNAv9kUW0cycrRTV9mK5yB94C6h0DyycuJ94Mpn3HLUT2hTLKHPDsNlfX87CorpxkjaZVus3HjpwguWDSlIe/CAuFbk6kT82X6hvcny/bBMj3vvavwJ4IZ6Ve71T2dOE8mgPrGIuQKbuOM8GP4fYtMZp8qChxy8TjaCvQS6BTmWlo6Zml+v9VYmCBHyXj2JdZ9QZbCt79w4RzRllXYkl9pussqNoMga6FZwy1yfc2n7yDKyrv7qookaDSpDeZWqw46fa0pbcIqjLU+hnUhhcQ= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(788757137089)(148574349560750); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123560025)(20161123558100)(20161123555025)(20161123564025)(2016111802025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR0202MB2556;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR0202MB2556; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;4:csPGaADW5IbaF3CUGSSuyvzYAvjUiQjtJ6rD05Vq?= =?us-ascii?Q?tNh++voVmyFXcH1YUiS6T7HFfqEE08h2mcWPLn/cmo6mpXF8XpcD6HH96mSM?= =?us-ascii?Q?rbAeLsHFKeMG5XQ7kldg21P+QyEAV7LSImkQTXmiyV/YYiePtUIv/uQKbnOP?= =?us-ascii?Q?hb/oxYOUdSj6sVIsj9aQkVcDhi5E0S28gsKppMIXH2M0v0MTEA8asYGdhyHT?= =?us-ascii?Q?n8QeQKaiQA1FS97RGO1ykfOjO3B+t812gXoWc5KjWnJk7FPJUObYBNQx9LN3?= =?us-ascii?Q?7XxaqVZjuTYG9swB/rHmAXHt91weQ9n1ZPBm3ji0BFaqFKXccaKfAobloxsT?= =?us-ascii?Q?khtcEc4bd7lZtwAyK6TeMEydV4AYwhIykZK1h+GW49Ir0aUW7cW1dzRWXswg?= =?us-ascii?Q?9AOrR7ZvryA5vhQkOm6ui+P5rlmYCihWDGGX8NqiuP9kvmOBcoE1DIJJYKVN?= =?us-ascii?Q?QqtETpq8mo/kB7RtFRP7kxUtqq2RkI3qlY2iX2iQdV80o/kGiCQbJHUvded7?= =?us-ascii?Q?hZGmdvl5HOts1aujnS9PQae+FIEiIyixERBMGAptM5yt5r0sCiXl2PWl3LG8?= =?us-ascii?Q?YTIJuR92QAlge5zQJu8FmxmmL8tg6knaeAXY6MgxCF14MeLZfOn3576EDBwX?= =?us-ascii?Q?D7qNno8qmJDKXUMsuGu/+J8obLIoYOSCnqA0Xk7HKCQhRq6tkN4QkPGlZGOb?= =?us-ascii?Q?SktBb7Sv2q35gP/tvEMdQcDfHbAoZu/vRnxx25xiGi/6s0AiqaivbhOu37Y+?= =?us-ascii?Q?+RuzT3lU84Y+V5cawFljQW8Sof7U3qnhVCY5q86AnnBxDAFpvh+z4gJ2GZJ4?= =?us-ascii?Q?aGNchPDViNfhJbWYG6SPHWEWdOoHsGVaostyMxxtCpiY3r+YMkd/ZUtdDC02?= =?us-ascii?Q?UeY5XWZwwG3VWNRJ6nNu0nlk3kss10HvaxnBIdvOFKyFHv2PHR7KD3VfbKy9?= =?us-ascii?Q?9SglXCinKmmwtpxDQEGAGFPZG8UJ0LtV7buKqtx+t7atPN4lB+KUXaes24T2?= =?us-ascii?Q?x0iWnhf6SyVArWXBdbWC6U/MmUWg62LPJxcRxj+f8ZN0iH61xBFVa5a0/E7E?= =?us-ascii?Q?qbWZNI+CJoEBR9ucHvu7kPJSYI4Bmnw8S+6LppgIGxNtdagA4GCIaveZfLH6?= =?us-ascii?Q?4IZr9rW1wdeb1OyFaEPZePmdR9BShE9zSvJJnURPEtRci3SiQ1nIJvAROo24?= =?us-ascii?Q?HuYUe+pJkUTk/kpeyxgu6xMmaxn28TM9c2uxpB33oUIhhGfGubfAy7kIL7er?= =?us-ascii?Q?DEI8IX4NS1GU/jDpFm5MgX0sje8heXt2maqmvIoFRor/aRvuNpSLWM+w+XFN?= =?us-ascii?Q?9/0Ewqq9h6w026APf2L5AmJwvMS6wBooLxTSxpGsZuTm?= X-Forefront-PRVS: 0367A50BB1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(39830400002)(39400400002)(39410400002)(39450400003)(54906002)(8676002)(81166006)(5003940100001)(50226002)(6512007)(6506006)(38730400002)(110136004)(7350300001)(53936002)(6486002)(7736002)(189998001)(5660300001)(305945005)(4326008)(25786009)(2361001)(2351001)(33646002)(3846002)(6116002)(74482002)(48376002)(50466002)(36756003)(86362001)(76176999)(50986999)(1076002)(42186005)(2950100002)(6916009)(478600001)(66066001)(47776003)(2906002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0202MB2556;H:orc.pedanet;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;23:pvCbtCveVQ4A5UcIzTtChFF0nJTMEbKiPtNK+mg?= =?us-ascii?Q?ZqyEAKB/zg1/uHTFoHpi6w6enV1zAHGJxP9YxUNJLj1Igt1Z/T2dLIr8odOS?= =?us-ascii?Q?aYJrc33VUVBlSif1SiHLc9WELyKjfk7+Uy3V+mrgYjAUOe9aSKTR6oysVArk?= =?us-ascii?Q?AkW9CB07wNfMw4q+7kGjdxz8Q3UPaif26EbMjbluXQ3MZYCSMYX0+AUT3HiP?= =?us-ascii?Q?6pN1iy2Yk6uLo6l2IfowVimBYtEcLjQlAzFT56kpaqz1mZP623lpD2NWfhV/?= =?us-ascii?Q?F45kZd2qVtBrPErTCgIVlBMnKtOLTRbVsqvoiNnW2WeOA4O2Hye9r9M3A64V?= =?us-ascii?Q?B4sDt1bzIpLodEWqhm8+aml38SvvCp1Fj7Ftn4IeQRqOS7dJI2YGfYxBZ6Xn?= =?us-ascii?Q?dvkqDG1S3Rm194fMco4J5nDbt4gunTeWTGGS8r9vNZrZJHDd/gtiAQWAMIN7?= =?us-ascii?Q?K8Oqy+7E60itBS251GyGPJIuzhXiQ6CX1CZKArhSmlWzaXgT6LZxqxN5wowo?= =?us-ascii?Q?dQ5b9+8T9YxhRQVD9PltyCX3ImyLZOKOsg4R8azlTW/s3WMSMMDE2wUp7OgI?= =?us-ascii?Q?Xpn4C+PBts/gUPeLyl0LXOsKB9P53J+PZX3wT7E8AkEx7CbWlge26WQIoIO/?= =?us-ascii?Q?8psQrETgyV4ucdOq4RAmumXg2P+mbT/StHHFIKxyP2CmXe+b+2jcJ63E9mqe?= =?us-ascii?Q?8W3Sk5xU3sIT5FJEvs1bqjJHGl8YLlIa4k2TQGNi3yGrl1LLTHls7tnIczGk?= =?us-ascii?Q?eebWd3GkRuvnI3n3rKcceUF1uJ0wq3SLhGEXcuPyHbdOrq7KUNHID+BWuCjc?= =?us-ascii?Q?6r1JV/4ZO/EMRzJ4T7caOIr02J6dLYw6T3BC0EohHc7f6nTQd6nSny0obPrU?= =?us-ascii?Q?lsFVNLguxWmQCZe1DfaxUTkBQhKx47XImhoAo9FIN0ZtbjF7L9/z/O+q2h03?= =?us-ascii?Q?hy6Q7Uhw9M6tw5Ow0+diBlYKUOvYUdkBI1vwfXJAQtlR3+0AJ/VsGmi7ME7H?= =?us-ascii?Q?+ypxb0Zig8w+SgC9al4heevQMOUI0V/FvOZHZHHpbHAhe//f9dZaE5A2AMRN?= =?us-ascii?Q?2OtEkPAUHr8GrePf5hwK1CUjwAJ3bDfDK4oLCGtkIosVfuMpYohRLpKRGgNH?= =?us-ascii?Q?G6n5Kk9GwbHDDfE2jKSwiEmBNCBTvqmMXgQSklxNBb/pjwHDGDJmy/A=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;6:7uI3mBpqIU43yZn3w5bh+357rSPQB1EnBodd90DY?= =?us-ascii?Q?E/StbBqM9Gjr8JEr9Y3K8oCv5b/3lw5g6vVJqBpugxrt7hsefx4EL3mh7zKb?= =?us-ascii?Q?nL4f5lFU+nx9eY/hIXjM9nEtZKrHzN16EDR5gfowGjpIwVpEst1H7S8DDI3H?= =?us-ascii?Q?UjfOgYQhbQspEf28BFe9MN4dBiotLoihFvCZQOx3SbfKAyQEATlyAdfMmj1y?= =?us-ascii?Q?LuYoE/FMTjuP0XOq+psOfMX3d7eUwLMydyfQ9lQRHaWht99o9OSSU7qvPbxk?= =?us-ascii?Q?QqdGszuGXcFRLat5Tf8QZAqMYQiHTNVVtzYEgFB3FxO2LO7vWN6XkKazqw/a?= =?us-ascii?Q?B+ajYkC1LBAFbBdVgd9fG0T/rwa0zcJed4NhX4/8hm5QruAo75RPOMJ+QjFY?= =?us-ascii?Q?WcCwe4z88MYHZqow7YcPGPwx0nDQEFTpgm6D524YzlDfMoUs8gPVhOdy/aNi?= =?us-ascii?Q?NPgQD6pwMo3iNbNAQ9xgolpqH30/0SjhGKu9PeJeNbzam1MzfUg0st6ErarE?= =?us-ascii?Q?RqduvLSZOXSd8jDC/TFx1BQUL0+1yuKmn85ZHbvntsNgyP6Nf981rGGdts6W?= =?us-ascii?Q?tRGU+W87//ysRcZTfkgKZUrBahAUZlJG/1QRzuHmQwqXtpHtDWQWEaGjIGup?= =?us-ascii?Q?yle4gUbTmRk7myhJTqi2lvMu+o9K7PUAajy9fgC33Xxx3+Zpu0RRry1z7Z/u?= =?us-ascii?Q?RnNkG05XXSLUwVMz+O3sTd+EbsUcBW2nhTzG/K5JHGBtV8p2+flqkHWQvFYq?= =?us-ascii?Q?gffk9p4mJaNj0DxwV4AdcPe+a1eeqwZOLv5DpLmD19N665guo0jCa8MzfrGH?= =?us-ascii?Q?ZgRYKC1ivuKux0csZFabipesKUDo4+Zlj4cW5zWfaVmMnHVeW+u0TP/maElv?= =?us-ascii?Q?KAgUERxHP13VySXzMxCk7yVs4RtjpvzPjwb20zu8TqPbljdMyNiif8Eoi++k?= =?us-ascii?Q?5RkOGz7WWItyDVW+oT+XkEre6qyqdz59tJmH9w4f4pO3S3IutCoUUqk3FdUH?= =?us-ascii?Q?pXw=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;5:j4SbDwyuS+sxgSRkfFTpTRyop5ptphZ91Av+CI5e9Bfo0EFnmFTpy9SK6nMfi6rO6vFwaKQVAp1J8pFkbIejLna4VXFcbXIRfCBxuYHnnCG1cn1ItzlgQSchpLJIiKQW66uJbblOqfhlYHYw/MRNvpd7Ha76JtJcj0oiHWOSz0s5Y/UJYTBj8gApuwSvqRAwrzge/mJk8UQ345C+g9sD8sOqXnexpx4ZzhoMKnYpTgbkv/6kdpV7v8rC7KY+QuIp2ruWL5DykcwYolzmj3cJO2Uv8oJNP+WNamCTPMcmO66ZwKGtkNnzVLSaRY2FpHYx+25Tq0A0aWALdiVRC79eg4HSO1P8DwEEh2PVLQXBoqYG6nwOCAVGTizz++iWQNpcWpy52jsnfh53E2/EwF2EDUSBcQX2fw5my1ldJ30FC5NLB66hVTbeoYUyOuex8qrr4v1dj5YVKk//V39P9v81HiQ2dq+SfTB7OLGKvQftF9ZW49zyJyz5ZiZGAesAAE4/;24:TnfUhi+xVBj2e8qcDVqdTKmRhqqnWHbSNmeECvfXKldv+WTipsa9KAfWsf4Lzy2gUSdRMmGtfMZ/2cx2r5Vzydn9WMxEjR3zSpRyWjixuAY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;7:7vwmfon0ILNs1++/kW9R7Bkj9bo5kliLn8I7gWDvOoZtm/H5xPW6ejLgo8CMz7hsSicG3BztOlTTS7Dl9kL8LED52flRKgd7MM1g7ybBzbRkPKSvYywDYzU3PyOLKiSOj6P9h21BFLNpRpUZPy3zo5wHj5EJ38XhgGLFQWYGPqb4UODrfOdwjCE9k1l5CPj1hCaF8RE4vlmNSSphBqm5FoVHoDp793aTACAmxUKzPODChykUqxWq2kvf0ueQyi4e+L/lgsXJsePFI5Yhm1+CjTlo6b7YXGgPK8pnu0QXeEevEQN3vfDpG88jOmafp2V7boKQlVNBnslzr2wVeqMf94k6+tUT1vDbBf5cK82x4REBMWRvTL1Ks/PVr3AVeS+ID5+hbg4JdNFMjZyL8KXznd8/MY85XAcUdSKq0QP7FcdoXNGPUuMgjmVGHodrZHvxgqz7nE3abPvgwn927JGYXHbaMDSqGGpgZpVpmT2prvEgSlhwUamaG7sR/I6kuVG6x0DaO+Wa/fbCg1nIsVlCGx9Tc2He+u+8mQFbOtwVUupMQt/CVWx0TTnnflAJqHxlna0vaQZzeRW5GD3avDtHJiLzuX7r4wBaK6pAO6oYTXvCmDFEOeL/R709NNdyTuxV3F3mu8eShK2O4xb2NklJeifomJgrsocDPrvA+lY4McV0LWVeosICSJEPB5sQzIE9SsS13GpNVE5wvMSc9dGlaq3A1rHESKfV0ij3xtnG3SDpApW2++GlXz5rJACm0q0CBkonDlk2X+OoDLVQEeTIWMKFu8jBefEyPSt7x4cjJvg= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 16:24:25.3916 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0202MB2556 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The function has little to do with atomic, it's just where it has so far been needed. So, rename it to drm_property_replace_blob, move it to drm_property.c and export it. Change the semantics to return whether the blob was replaced instead of using an extra argument for that. Signed-off-by: Peter Rosin --- drivers/gpu/drm/drm_atomic.c | 30 +----------------------------- drivers/gpu/drm/drm_property.c | 23 +++++++++++++++++++++++ include/drm/drm_property.h | 2 ++ 3 files changed, 26 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 09ca662fcd35..16d73be6f76d 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -408,34 +408,6 @@ int drm_atomic_set_mode_prop_for_crtc(struct drm_crtc_state *state, } EXPORT_SYMBOL(drm_atomic_set_mode_prop_for_crtc); -/** - * drm_atomic_replace_property_blob - replace a blob property - * @blob: a pointer to the member blob to be replaced - * @new_blob: the new blob to replace with - * @replaced: whether the blob has been replaced - * - * RETURNS: - * Zero on success, error code on failure - */ -static void -drm_atomic_replace_property_blob(struct drm_property_blob **blob, - struct drm_property_blob *new_blob, - bool *replaced) -{ - struct drm_property_blob *old_blob = *blob; - - if (old_blob == new_blob) - return; - - drm_property_blob_put(old_blob); - if (new_blob) - drm_property_blob_get(new_blob); - *blob = new_blob; - *replaced = true; - - return; -} - static int drm_atomic_replace_property_blob_from_id(struct drm_device *dev, struct drm_property_blob **blob, @@ -456,7 +428,7 @@ drm_atomic_replace_property_blob_from_id(struct drm_device *dev, } } - drm_atomic_replace_property_blob(blob, new_blob, replaced); + *replaced |= drm_property_replace_blob(blob, new_blob); drm_property_blob_put(new_blob); return 0; diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c index 3e88fa24eab3..bc5128203056 100644 --- a/drivers/gpu/drm/drm_property.c +++ b/drivers/gpu/drm/drm_property.c @@ -709,6 +709,29 @@ int drm_property_replace_global_blob(struct drm_device *dev, } EXPORT_SYMBOL(drm_property_replace_global_blob); +/** + * drm_property_replace_blob - replace a blob property + * @blob: a pointer to the member blob to be replaced + * @new_blob: the new blob to replace with + * + * Return: true if the blob was in fact replaced. + */ +bool drm_property_replace_blob(struct drm_property_blob **blob, + struct drm_property_blob *new_blob) +{ + struct drm_property_blob *old_blob = *blob; + + if (old_blob == new_blob) + return false; + + drm_property_blob_put(old_blob); + if (new_blob) + drm_property_blob_get(new_blob); + *blob = new_blob; + return true; +} +EXPORT_SYMBOL(drm_property_replace_blob); + int drm_mode_getblob_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv) { diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h index 619868dc08d8..37355c623e6c 100644 --- a/include/drm/drm_property.h +++ b/include/drm/drm_property.h @@ -273,6 +273,8 @@ int drm_property_replace_global_blob(struct drm_device *dev, const void *data, struct drm_mode_object *obj_holds_id, struct drm_property *prop_holds_id); +bool drm_property_replace_blob(struct drm_property_blob **blob, + struct drm_property_blob *new_blob); struct drm_property_blob *drm_property_blob_get(struct drm_property_blob *blob); void drm_property_blob_put(struct drm_property_blob *blob); -- 2.11.0