From nobody Sat Feb 7 08:27:27 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013028.outbound.protection.outlook.com [40.107.159.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 63A8332936C for ; Thu, 22 Jan 2026 09:02:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769072551; cv=fail; b=n7o4B+4qJfM+ZVRKCg2IGx/9h9JamOFp07Pet/4KpWHlZ82iiCrKbjfg50qdgWsdnnCBImUpRGDeRnE9oH3o25MSYAnvPovgYl50vK5LvZnigpShCco26uQM8gyjSqxkQAXnzZ8Xj9FqZs8tZBxkO+t0VZGsQ8L0eaL/l31kk3A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769072551; c=relaxed/simple; bh=esIh4oVsLrdN60w4rB1jpEJzrZyDqrM3iGYPJU+FS1c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=bhWAhBzLmn6t+2ibAKejwnuhIo7/Tz0kxQrnjbBCCRBEe7NQFIPej3WK4OKSems/M3MXmzfM8gbR/kN/pDzFaVGKvx3defZLh5sqfb/crmCW+cBGm+qj3ezbdFR+cYMJ7hgsXDvit0MRpew/JAYRefo195rf2gSWMYdc28jtlUM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=x0Kt3wAe; arc=fail smtp.client-ip=40.107.159.28 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="x0Kt3wAe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hu4u+PD+CHF8g5cIX7/Ds1TI7789/tjJHVjEZoNj6IkA4jjNB0lA9GfODUgeCcII5Q4s9Z1Zg/JGRPLlpsYLeI+HJTQNTGlusu6enX3LA1fBlbPCeK+fER6n/wHI2QNAeNxbxX2ZlDCJ7UflShPqK8b1W9JUg/lTGbDOIUaPEfOZbFrtk5rnUQiV6gU48RInWVd/dtFOHYgr/uE4TtZhFEfHktsEyVjofIC8GOE3dyYriEGOsHtAeN/SHkeXFPUhbVTU9QAnofwtEiMVsbMMZ5jH9vh6af8QaEimUruWEMODXfD1MuurY6RGGA87Boe2F3V1h2O7RStuANSF05t/eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3rEXvg/Qw5B4zOpe0GKOk4USg2iPGS2KsctpEQBRBGc=; b=T2GXBBAKQUeiqIOMH4FWZ6EZu85Tx2e734DUy0HpTY2UQbr/wshtS7C6x/GT3lJG9pxHh40pPBoMh6jEfxi3QquSQxlW1+OKpEw1k3PoOmrokrv4H2hTkDavDGwtPwnOpXzl7kYeWqce568X7XkgnHpcIzgdwGqwwAdXh0FBAsyPXHygd3AuQfNcnPDXfwKkf7fUHgSWhg0lnnZ8X6NMwt9+US64INlMuBi5S3dWh9HvCp/4mVvJs67uSEWryzLdiO1wXCCbM+idM4opHWKakjmbreFgTEcz2/wwVZC3a9LtJ690uGAmMrxiRy8Yxp6ACnZhLHKjrrOAoObEcsy6og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3rEXvg/Qw5B4zOpe0GKOk4USg2iPGS2KsctpEQBRBGc=; b=x0Kt3wAeyLg0paaXl+YuihByeMrHxz0h4/6XneU4eVtyd7l8o2ACk7OJ99Sr3Ri6/hiMDxFze0dsEhKOWzxDeaLun/Fd3gYweOYYJVRldCIfWP+tFMNa5HnLtbZO1MNW3m2CN0xS9lVZPMXt3dPRwnJHeL3jNFGuAezwohmk2zm1JIZnRRUiXtYrS7XbYzDoi++JfsQiNMZW8tvBPY5hKTvGi8hHrrsc9BUdxAlYO1BDgmh6HonN92z+3wHdLeMQxPg7urZJ9JJRI301WufcI9MaLKwcrr4y1l3kW75Bq4/o0l/gM3AA4JRNYvKXC2Y8bSQf0ffjUS/vX+FlCuOTUQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB9135.eurprd04.prod.outlook.com (2603:10a6:150:26::19) by GV1PR04MB11014.eurprd04.prod.outlook.com (2603:10a6:150:208::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 09:02:25 +0000 Received: from GV1PR04MB9135.eurprd04.prod.outlook.com ([fe80::3826:2706:1e81:c9e2]) by GV1PR04MB9135.eurprd04.prod.outlook.com ([fe80::3826:2706:1e81:c9e2%5]) with mapi id 15.20.9542.009; Thu, 22 Jan 2026 09:02:25 +0000 From: Laurentiu Palcu To: imx@lists.linux.dev, Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, Frank Li , Liu Ying , Laurentiu Palcu , Dmitry Baryshkov , Francesco Valla , linux-kernel@vger.kernel.org Subject: [PATCH v7 2/9] drm/bridge: fsl-ldb: Get the next non-panel bridge Date: Thu, 22 Jan 2026 09:01:40 +0000 Message-ID: <20260122-dcif-upstreaming-v7-2-19ea17eb046f@oss.nxp.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260122-dcif-upstreaming-v7-0-19ea17eb046f@oss.nxp.com> References: <20260122-dcif-upstreaming-v7-0-19ea17eb046f@oss.nxp.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM9P195CA0015.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::20) To GV1PR04MB9135.eurprd04.prod.outlook.com (2603:10a6:150:26::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB9135:EE_|GV1PR04MB11014:EE_ X-MS-Office365-Filtering-Correlation-Id: d9b989ee-5f4e-493f-cc39-08de5994f617 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|366016|376014|7416014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TzJ1QlJYNk0wZkF1UE4rOWE4WTFTYnhCR1krUmc2UlM4K0R3Sk9Uckpsajc1?= =?utf-8?B?SkRzcXRLbkdNRG1CQzg2T1h4NTRLV3YxeDA5YlpXM0dBbVJIc1IyZG1iVVd1?= =?utf-8?B?Si8rRE1HTE9jWlB5NkNkZHg5aGFZS29mQ0JSWE5ONFM3eHg0cjFzdDdzaG5v?= =?utf-8?B?Szk5TkxjMStZMGVodVJsTk8wd25mM0FibFhHbEt6MFNLRU1DN2JMTmk4eXZY?= =?utf-8?B?aGJSSW5RY3JVNFdJZlVvd1lOSDUyUzFTZVgyaitWa05ON2ZBeHQyNkJldmEz?= =?utf-8?B?WllmcitYb3JSS2hwYzIvYlQydzdRVFpqc1BXbkpwcWFWbGZPUzM3K1VlR1Uy?= =?utf-8?B?MWZOM1R1UFhQQlU1Y3dPUktjbmZzd2dmM2pjRTVRRit4c3B2eWRWRWJLNy80?= =?utf-8?B?bTN2SCtKa1ZZQmNIc0xReDJQdG90bnQyalJVYU5UWURrWTNERDZ4OWtSV3BJ?= =?utf-8?B?YndtVjI4eE9rMHBUUzFaSit1bXA1b0QwaHkvVlRCZitHN1ZQd1I1SjJPblFZ?= =?utf-8?B?VzFLblRKOURmc1FOYUQvTnByVWVYV2YyK0c3S0NaS1Y5eEtLUEZXV1FBWTFX?= =?utf-8?B?YUorOCtiUDN1akVwSkxRZzl0N2pkWlhsdHFMOU1aU2VobGRzaFhsRkF2bTVk?= =?utf-8?B?K2Q3NWxta3hpNE5WMlN4TUw5blBYM1V2MlAzRXNsZU1GVDM5MVNlMG9lRys2?= =?utf-8?B?SGJWb3dyWmViWDErYVZTNW1FZk5JREtIZnpidXFUVzlkd3VvMlFjc2d1UHFS?= =?utf-8?B?ZXlwdWNhYkx4UVBsckEyOE85SUpYOWdNblBaWHdQQ01UYWJyR0V4bWdjVFZO?= =?utf-8?B?YkVrSURtdEEydW5WTGw3QmFOcitSNUt0Tzl1NEc4M0plazNUMkxBaGN0NGl2?= =?utf-8?B?NGRObHFodDJLZk81UXhhL3BCT3Q0QW95M3pOV2RaM0ZYSVN1SmVFenNBcisv?= =?utf-8?B?MXdHZnZSV3VvRnlsekpDWmEwQno0TXN4UVBvQTFjenVhaVAwZitvOUpmMWcy?= =?utf-8?B?WXo1UlhSMzN1aC9IWk12VHMzUFp5aWZGRTB3QjExd3pML2FUdmg2b1ZaaUVD?= =?utf-8?B?NXJXVUpxL2Q4VnNpaVBTdWQ1NkJrdXREZjNKN1JsbFFpTnc4aXVpVXJrU2Vv?= =?utf-8?B?U3BDcHVlaFIwamk5Zk5qQSt1NDZpUUxuMHVNVkw4WnQyR3gyMFZyMzZyYzZ4?= =?utf-8?B?UXRFN3Y2b2twWmRzYmt4aDBUbWZrSE9WQnB0cnFZSGJJMXhFbURGNkFHeEcr?= =?utf-8?B?d0JiZVk5bnd0ek1JZVY1UVRTUlJZeW10ekNzZWpUOWluRVZNZVlnSEhCaUF3?= =?utf-8?B?Uk1EOGpuSWpYaUhBUEYxTm1OT21jWVM5bll0THkvSFpGR3R2UlkrVnp1STFK?= =?utf-8?B?UlA5cWNWSlVGdDB0Y0I4VXZiSnE2QldqYXVmOFoxK05qbzk3MjB6U3BhMHNl?= =?utf-8?B?aXBRREh2bEh5QVpnSTI0aDE4dWVpQkJPczVsUThMZ0JwaFF2WTBKMGhxRUR2?= =?utf-8?B?akh0a2luSHFFeUVKNVNheFJ3cGZZcDgrQkNOSWt0YkU1SHBDWldDYTFiQW4v?= =?utf-8?B?THhtL2xMOHE0Lys3dHY4RXc4LzZNcnp5TzNMSTcyZEdjVzIzbVUweVJCWkZs?= =?utf-8?B?bkxNMis5cnM2QkgvcGhXTVpLbk1xdVBRWVQvSlNMdlVYRGNzOVIwaFIxVEN3?= =?utf-8?B?MDh5QWprUFE2cDFaTDdHT2VFREp1SHY5NExORlVaU3BVQVJuMHI4NzBpd1pp?= =?utf-8?B?WXd4aTh3R1JYVW9qUkFjVDArUUZxLyszc1FUWHNic2ZTRlpWLzBLbUJVaWkr?= =?utf-8?B?TlBHNXM1YTBOY2NGSXNCcXJyaWhHK0VtdWxIMU5UN0xDYktQV2FITDRjR2po?= =?utf-8?B?M0kyS1NMcy9lQnFNWGRRTVZEZW9na0lNRnJlZmhoSmhjVmJHM0h5VFFaVWdP?= =?utf-8?B?d2xQNjVKaEVkWmFqRGM1c29yc0N5T09QdlkyWDdnZTZJNDl1U0xaMmhmZ2Y1?= =?utf-8?B?ZjI1ajFXWHcvWC82bzRxWGRCOTlBNUR5NlExSDRiM0REVVF4ZldSQkh0cTJ0?= =?utf-8?B?RzA1dDAzN1AvSXd2RTg2WTlsa0VVN0JOL2UxeW1NMHU2eXRpRkNZdkxKSFZa?= =?utf-8?B?L3JqOEJRU2ozcTZ6c1JHd2tvL0x3YkdCMEVKWk9RY25rUXdCZEtKV0RhQjl4?= =?utf-8?B?amc9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB9135.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(1800799024)(366016)(376014)(7416014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TTlOaXlXNHp1cUE4di9VZnRDNjkycExETUVGdnJSYUkyYm1UQVZscFlvWFpL?= =?utf-8?B?cmhJbS9aZWdZa2c3cGFkV2thNXhUVTN5SngyamZJdGQ4bnJRcHVHM3B4Umcy?= =?utf-8?B?WGpuOU5ZRkwrb2k5OG5LMUNsNUNlVkRINnZ6YzJUdERVVzhCUSt5SHlQZEpV?= =?utf-8?B?SCtVNzdSeVk0Yml4U1RFV09paWYyWit3bGZuUVk1bVBsNFJtNHhjamd6V0Zi?= =?utf-8?B?dHdGUXFpOTllbGowZmQ3MlFxVUd5M0VIM0NRc1ErbHdyRm93ck1FR3JXcDBH?= =?utf-8?B?TC85YU5xcVZxK0JHSDR3ZHBCVHRRcHVHTHJPTXBWUnNwVXRqNnJLN2FmZ0c1?= =?utf-8?B?cjdyRUM5bHExS01ZZDYyRnlIYzJMR0JIYS9IR2h1andaQ3Q5S0N6U3g0WDY3?= =?utf-8?B?eVgwd0FwUGZaRllBWFpSdkdMTjhjL2JrTU9EbGdXalk5R2w2WXJDQnVWQWZC?= =?utf-8?B?WFRvaXJPS2FlcVFGZkdOdWozLzltRFpuSGd1QXl2N3NyS1ZodW1VT2kzMG5t?= =?utf-8?B?c3VaOHB3NThISXdZSjVaazFKZmkyelFvQ0lLenFLVjNLRjZVVkpoWGM3cWh4?= =?utf-8?B?YjJiUXRkd3M2aERmbTR2ejBWVXhrSjJFTll1ejJTbkNQZ3Z2UFN3SUV4T2I3?= =?utf-8?B?ekUzQkRDTzMvSW5TWk5UZ2Fwd2hlNzNJR2pPckdOZzhudFVxSUQwdURITUlJ?= =?utf-8?B?RUtHRHNwb2QybTFCTFhoaGQ0aFEzeEVyT29Tc1N6alpqVHRGOUZqWG5QbWVX?= =?utf-8?B?ams3ZXg0UjFkaGtZYWoyK1MyR1ljWGdibThsMENLY0k1STZhRytlTWlhSTRr?= =?utf-8?B?eEZQb0gvbmtPZE4ySVFpQzZhVCtMcUovU0d3anhXV2pJZVZOcWRjc1k2STRJ?= =?utf-8?B?d2hNUnhWZHJqcG5PZGw1RUpkWklSeHpGKy9ydUlnTTdvemJ3aEgvSTl1Qzkw?= =?utf-8?B?NmcwaUhJalduUWxMSmRWaFhwTGtnZkxmTURJZnAzMjlPMFFGRG1FdEVtZE9D?= =?utf-8?B?cWE1VWVNVU1XTWZqdUExMWVkM2hyeDJoa2tnQTNxNWF3U0hJNHpiQ2ROUEln?= =?utf-8?B?K2lNZTVLdjhKUWRZczZTSm1nTVJtOHlHYTVQUlpBd1g1UWI1VTJvWVIrMHEx?= =?utf-8?B?QU9QUUtDM0E5K2c5Vm0veFJkVEg2ZmQ2VUgweU9LMUhON3creDlkcDlwRHl5?= =?utf-8?B?WUxPcE0waENQbGRvanZkd1NpMjh4dkNzakhKdG9XbFMxb05jNHk0ZUovUTNy?= =?utf-8?B?RTlQM0R6TmpxV2Q0WXgyTHZmMmM0OHdTK1p4WXlhMXhvQ1VmOG1wSEFscmtO?= =?utf-8?B?T1JrdnNZc0Q4bTV2R2Z0UU5MM0lGVDdXckUvUUJEaUcza0tENy96T2pUbHYz?= =?utf-8?B?WjVEa09GWEg1YVNvdU1Fd0dkK3ZQV0dVTUx5cnJoSlQxL1E2dk9peFNtNlF5?= =?utf-8?B?QTRkQ1hWMUZWRzMxVWc3dnJwRGFZaGZ5cnNBc1Q1THRCUFkvSU1lVzRtekJZ?= =?utf-8?B?cis4NWswTldrYm9xYS93M05PaWdWYkRRSEllenJseUxPM1hTSFN5RVJ6aUpK?= =?utf-8?B?NjJHaVN3WXZtbDBPTVd5c3pIT2Z3SVQvYkhGMCtoSjFXTHN2S3lTS1BDT2VZ?= =?utf-8?B?R1BXY240M3pFNWZxcUw2Q1F5VlhIZysxVitkYUdhTDdZcHRHWXUvZnJrZzB6?= =?utf-8?B?aVQ0N21YNzNLRzY3ajJEaXBFNFBoeUJxWmtUdzRxSVJNcXBkanNOY0ZSSHMv?= =?utf-8?B?OGNoeG02S0g5ZGZkcEt3U0tPSHVET0U2ckkxTE5ZZGZMdFdHZmtRQVVLbDdR?= =?utf-8?B?ck53RU5KODRKU3NNcUtTK3RQaTliQUUrNm1rY3hyUlVOU0dDL0lhVVQyb09Q?= =?utf-8?B?TUJXcWlITk9rRzZVNkU5ZzFTdXR1ZDc0QVVWK2x3OVBSb1UyR3ZOV2E4QzVD?= =?utf-8?B?MGlwY2VTVC83SmI1ekRHTk50Y0V3TFpYTHhzOHJIWlByclFiNFUvVkY5SVdB?= =?utf-8?B?N3VETE1GeWZBV3FtQkdHc1I3RGRSVTh2SEJ1T2ljcmhXcGRPbjc3dUpxaUcx?= =?utf-8?B?UkxBQ2dFbWZxRHMzWURjbis4MEVsdkF0TS9rbktMTFJXVXBNWG55UXZyMmpQ?= =?utf-8?B?bXBySDJ2cmIxRWRRS3A5L3lCWG50WWJpendBZW9paHpwQW5HdkpFajZYSk5j?= =?utf-8?B?U3djU25LT3IxVytrbXZXRTZmNHJvT1JjN2F3TGs5NzVnL3NsWVlZWm5JNGRQ?= =?utf-8?B?QUFEQTVXbklYWW1jbmZyZldRUlV6dnRScldNREhRSFpFeWxCZnF1Ui9YbDE5?= =?utf-8?B?YlY2dTJMWldBN0o4ejNIZTF6dXpaaE8rRXRCQjJTOFo0UWcraHhJcWVmOTI0?= =?utf-8?Q?t8FzL4F2DJTteghQ=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9b989ee-5f4e-493f-cc39-08de5994f617 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB9135.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 09:02:25.4000 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5rLR+XfF4a7Qk9onCTsC8/ca4vYAfBHCNpnVp62NoPEBHqoiOlzg0oWlCHX7BqmaK9pm5aJKfXdhzneWUk9frQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB11014 From: Liu Ying The next bridge in bridge chain could be a panel bridge or a non-panel bridge. Use devm_drm_of_get_bridge() to replace the combination function calls of of_drm_find_panel() and devm_drm_panel_bridge_add() to get either a panel bridge or a non-panel bridge, instead of getting a panel bridge only. Signed-off-by: Liu Ying Reviewed-by: Dmitry Baryshkov Reviewed-by: Frank Li Reviewed-by: Francesco Valla Signed-off-by: Laurentiu Palcu --- drivers/gpu/drm/bridge/fsl-ldb.c | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/bridge/fsl-ldb.c b/drivers/gpu/drm/bridge/fsl-= ldb.c index 5c3cf37200bcee1db285c97e2b463c9355ee6acb..665053d0cb79d2b4f50e69c3978= 63ab024553867 100644 --- a/drivers/gpu/drm/bridge/fsl-ldb.c +++ b/drivers/gpu/drm/bridge/fsl-ldb.c @@ -15,7 +15,6 @@ #include #include #include -#include =20 #define LDB_CTRL_CH0_ENABLE BIT(0) #define LDB_CTRL_CH0_DI_SELECT BIT(1) @@ -86,7 +85,7 @@ static const struct fsl_ldb_devdata fsl_ldb_devdata[] =3D= { struct fsl_ldb { struct device *dev; struct drm_bridge bridge; - struct drm_bridge *panel_bridge; + struct drm_bridge *next_bridge; struct clk *clk; struct regmap *regmap; const struct fsl_ldb_devdata *devdata; @@ -118,7 +117,7 @@ static int fsl_ldb_attach(struct drm_bridge *bridge, { struct fsl_ldb *fsl_ldb =3D to_fsl_ldb(bridge); =20 - return drm_bridge_attach(encoder, fsl_ldb->panel_bridge, + return drm_bridge_attach(encoder, fsl_ldb->next_bridge, bridge, flags); } =20 @@ -292,9 +291,7 @@ static const struct drm_bridge_funcs funcs =3D { static int fsl_ldb_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; - struct device_node *panel_node; struct device_node *remote1, *remote2; - struct drm_panel *panel; struct fsl_ldb *fsl_ldb; int dual_link; =20 @@ -317,33 +314,27 @@ static int fsl_ldb_probe(struct platform_device *pdev) if (IS_ERR(fsl_ldb->regmap)) return PTR_ERR(fsl_ldb->regmap); =20 - /* Locate the remote ports and the panel node */ + /* Locate the remote ports. */ remote1 =3D of_graph_get_remote_node(dev->of_node, 1, 0); remote2 =3D of_graph_get_remote_node(dev->of_node, 2, 0); fsl_ldb->ch0_enabled =3D (remote1 !=3D NULL); fsl_ldb->ch1_enabled =3D (remote2 !=3D NULL); - panel_node =3D of_node_get(remote1 ? remote1 : remote2); of_node_put(remote1); of_node_put(remote2); =20 - if (!fsl_ldb->ch0_enabled && !fsl_ldb->ch1_enabled) { - of_node_put(panel_node); - return dev_err_probe(dev, -ENXIO, "No panel node found"); - } + if (!fsl_ldb->ch0_enabled && !fsl_ldb->ch1_enabled) + return dev_err_probe(dev, -ENXIO, "No next bridge node found"); =20 dev_dbg(dev, "Using %s\n", fsl_ldb_is_dual(fsl_ldb) ? "dual-link mode" : fsl_ldb->ch0_enabled ? "channel 0" : "channel 1"); =20 - panel =3D of_drm_find_panel(panel_node); - of_node_put(panel_node); - if (IS_ERR(panel)) - return PTR_ERR(panel); - - fsl_ldb->panel_bridge =3D devm_drm_panel_bridge_add(dev, panel); - if (IS_ERR(fsl_ldb->panel_bridge)) - return PTR_ERR(fsl_ldb->panel_bridge); - + fsl_ldb->next_bridge =3D devm_drm_of_get_bridge(dev, dev->of_node, + fsl_ldb->ch0_enabled ? 1 : 2, + 0); + if (IS_ERR(fsl_ldb->next_bridge)) + return dev_err_probe(dev, PTR_ERR(fsl_ldb->next_bridge), + "failed to get next bridge\n"); =20 if (fsl_ldb_is_dual(fsl_ldb)) { struct device_node *port1, *port2; --=20 2.49.0