From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 871EDC433F5 for ; Sun, 9 Jan 2022 15:26:37 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E93788373B; Sun, 9 Jan 2022 16:26:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gjkUwEqP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AFB5D81761; Sun, 9 Jan 2022 16:26:15 +0100 (CET) Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9A1F181761 for ; Sun, 9 Jan 2022 16:26:08 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=jbx6244@gmail.com Received: by mail-ed1-x52c.google.com with SMTP id w16so43457732edc.11 for ; Sun, 09 Jan 2022 07:26:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fEe2mDKhumNQQMNEBa4ZxDTdCyrTsR9xsuwKQG1dtiQ=; b=gjkUwEqPytSyfS0jcKPrcSDnpOuCE/XzRRoPq/AtDIZ52rql8Nig8AAr0PeW0BVVed kXWbCMZ6Q2vEdJ744dGGU26UbayCX9Kd8eG5lrpyttzUcUkYA/61dGnl+ymrS2u6Xfo5 k3Ols+1lWF60O4j+oLPH4+/wQlfWVnmnNiIj8PtPYpi0aAOpvR7rmF3lAEJJB9k0E82Y yFxhvT6WDCL/22etoIbD1SGpJN1plkB40EPNcpuymFK8mMkCurtLyUNt512kpHA8jMXR NVf8RSIxPpHVJltQV8Rz+jsCjDTqvGV6ZMwwWNrHRtU7kKZfAx5p51W/fF8t7193GRLu /cNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fEe2mDKhumNQQMNEBa4ZxDTdCyrTsR9xsuwKQG1dtiQ=; b=VriyaHUylKjd9hFEzey4v1yL9raTsMwLlcROYMWBLB5iHwXW74E35f9IspRvAb+JBN uWPuxAC3tod+mE1BIQ9iIUdW2io3AB6ap/dGMoKzzhY2/NrLWjD2GW+npwPwltdfhcEg pDdQlyWdbft4NH2EH6qJIz2aopwmnQvjQvRjdDtRq67TRnkMPzZLkGFmhzg7nf26viF6 vsunuJaLe8+aslx11cSYDzpWJVGw8s0rllaHXUs3aOZUH8YldVe489wTR2rnp3ClRb0a WL1S8C2zxm9EC6zAuD67ZuMH036YDbVH4txkgumHPms1bWK/FLqJzuLwIhD5zsNEyUSC wWDA== X-Gm-Message-State: AOAM53382GI06B8wgh4XCx2mxMUuUwn719O1jCFrxBUkWmnQBap1Kzsc TuRgXaHdA+ncgcnYexYH5gw= X-Google-Smtp-Source: ABdhPJwyjmqE8B7OX43Y35OqeU1mCd8c8LMC+rqAEEXMAaSz3Aj/VuOvuf2dkM3fcL9sFIkeToMgwQ== X-Received: by 2002:a05:6402:34d2:: with SMTP id w18mr70732134edc.152.1641741968290; Sun, 09 Jan 2022 07:26:08 -0800 (PST) Received: from debian.home (81-204-249-205.fixed.kpn.net. [81.204.249.205]) by smtp.gmail.com with ESMTPSA id b6sm2166448edd.47.2022.01.09.07.26.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Jan 2022 07:26:07 -0800 (PST) From: Johan Jonker To: kever.yang@rock-chips.com Cc: sjg@chromium.org, philipp.tomsich@vrull.eu, u-boot@lists.denx.de Subject: [PATCH v1 1/3] rockchip: serial: restyle the serial_rockchip.c driver Date: Sun, 9 Jan 2022 16:25:58 +0100 Message-Id: <20220109152600.6076-1-jbx6244@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean The ns16550.c driver has the following conditions for .of_match: CONFIG_IS_ENABLED(OF_REAL) For Rockchip SoCs with TPL/SPL and platform data that need serial support the serial_rockchip.c driver was made. It copies this data and then calls ns16550_serial_probe(). With the addition of yet an other SoC type this driver is in need for a little restyle. Simplify struct rockchip_uart_plat and add extra SoCs with DM_DRIVER_ALIAS(). Return -ENODEV when the ns16550.c driver probe function is available. Signed-off-by: Johan Jonker --- drivers/serial/serial_rockchip.c | 36 +++++++++++++------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/drivers/serial/serial_rockchip.c b/drivers/serial/serial_rockchip.c index 97d40869..0d1d9fff 100644 --- a/drivers/serial/serial_rockchip.c +++ b/drivers/serial/serial_rockchip.c @@ -12,22 +12,19 @@ #include #include -#if defined(CONFIG_ROCKCHIP_RK3188) -struct rockchip_uart_plat { - struct dtd_rockchip_rk3188_uart dtplat; - struct ns16550_plat plat; -}; -struct dtd_rockchip_rk3188_uart *dtplat, s_dtplat; -#elif defined(CONFIG_ROCKCHIP_RK3288) struct rockchip_uart_plat { +#if CONFIG_IS_ENABLED(OF_PLATDATA) struct dtd_rockchip_rk3288_uart dtplat; +#endif struct ns16550_plat plat; }; +#if CONFIG_IS_ENABLED(OF_PLATDATA) struct dtd_rockchip_rk3288_uart *dtplat, s_dtplat; #endif static int rockchip_serial_probe(struct udevice *dev) { +#if CONFIG_IS_ENABLED(OF_PLATDATA) struct rockchip_uart_plat *plat = dev_get_plat(dev); /* Create some new platform data for the standard driver */ @@ -38,24 +35,19 @@ static int rockchip_serial_probe(struct udevice *dev) dev_set_plat(dev, &plat->plat); return ns16550_serial_probe(dev); +#else + return -ENODEV; +#endif } -U_BOOT_DRIVER(rockchip_rk3188_uart) = { - .name = "rockchip_rk3188_uart", - .id = UCLASS_SERIAL, - .priv_auto = sizeof(struct ns16550), - .plat_auto = sizeof(struct rockchip_uart_plat), - .probe = rockchip_serial_probe, - .ops = &ns16550_serial_ops, - .flags = DM_FLAG_PRE_RELOC, -}; - U_BOOT_DRIVER(rockchip_rk3288_uart) = { - .name = "rockchip_rk3288_uart", - .id = UCLASS_SERIAL, + .name = "rockchip_rk3288_uart", + .id = UCLASS_SERIAL, .priv_auto = sizeof(struct ns16550), .plat_auto = sizeof(struct rockchip_uart_plat), - .probe = rockchip_serial_probe, - .ops = &ns16550_serial_ops, - .flags = DM_FLAG_PRE_RELOC, + .probe = rockchip_serial_probe, + .ops = &ns16550_serial_ops, + .flags = DM_FLAG_PRE_RELOC, }; +DM_DRIVER_ALIAS(rockchip_rk3288_uart, rockchip_rk3066_uart) +DM_DRIVER_ALIAS(rockchip_rk3288_uart, rockchip_rk3188_uart) -- 2.20.1