From patchwork Tue Sep 15 14:44:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1364640 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=V0sU3kr9; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BrYs15DfLz9sTC for ; Wed, 16 Sep 2020 05:56:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 000E582358; Tue, 15 Sep 2020 21:55:31 +0200 (CEST) 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="V0sU3kr9"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 90A5881BEB; Tue, 15 Sep 2020 16:45:40 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) (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 3EC3581BEB for ; Tue, 15 Sep 2020 16:45:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x741.google.com with SMTP id 16so4460851qkf.4 for ; Tue, 15 Sep 2020 07:45:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+KUjmRBUuvIxZ4IVihF+LIIw1UzZQt4gb9d9OUzxJm8=; b=V0sU3kr9jhyj+lgZWqAd6N3iQnrb/xEXcwoPNBnN3wlDE/Gb2NqObn6yJDnA/a+JPy lVmi7sZyWxJ/BrxXHCqHI8EwGE8Xz58U1rB5TLmZEv5H/3TEDWB57Xq4OlkJzLtLcH9Y qehCK7qD0/tHgVlcJXLh6cpXijwez9dUE1IDqwdRH1OtwZ/ZE1Y+eFgqKedFayYfnD1G TqIGJ88xmsOnh4FQIPjOPbrJ3bXIhv5z/L4nCTubJM+eZ28mRvfth2SWYmcpMN9p7+z2 M6pu7KMnrX+2wExQD0cf5VH9FZK6GxRsB7t5BN1w1/5wZX3e76nYO8nP1fxE12DTkDgC Z5eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+KUjmRBUuvIxZ4IVihF+LIIw1UzZQt4gb9d9OUzxJm8=; b=NU8KwXbtYjKjsSQJ8MPrFHLtEG/+hXG/ncy9Jc57wHZUZ6bEnyYVs1PXxolAalofim HJuqDlqvu+pczIFJ+A7rgpza8TEe09i9I7zqzizevuayz6n/p1QPOLrV4pzWMlqQFcjn 4qNj3CDEndfJO2tiVYfIapBIZTlMuvMO1ZggW5PO7T49DJQjEp6aZ90ApaB83f+o2Pv5 F+8Oyzhqh9SMdKrEKhM5nfbtu9u6p2leGVp4CLMBkMiyDC7KKf8rEeQQqOJcfUljjeAz kSL4SEWTqhkWRfqehVj165QppyAKBh0V+Q0nknqThhRbIW9sGfLSBHhRINZbjz1F+tWb Gwjg== X-Gm-Message-State: AOAM533KOmED+Ab//hyM5e1HjfuJZgFahAs5sTwLyEQ6YzLBXi1G5B1v xy69/Dt8wFwex7WNb8pbxTE9+Gr0Qx7sEWQS X-Google-Smtp-Source: ABdhPJxwy3GRrbSRtpdRHd2A7ztdDxgzq1i5wZZVGRDC3g8yHJT/83JgrjRvgt3NOTPFyXa+9dMizA== X-Received: by 2002:ae9:ebd0:: with SMTP id b199mr18171279qkg.39.1600181135731; Tue, 15 Sep 2020 07:45:35 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id g18sm16371799qko.126.2020.09.15.07.45.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 07:45:35 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Sean Anderson , Alex Marginean , Alexander Graf , Anatolij Gustschin , Andre Przywara , =?utf-8?q?Andreas_Bie=C3=9Fmann?= , Andreas Dannenberg , "Andrew F. Davis" , Boris Brezillon , Chen-Yu Tsai , Chris Packham , Daniel Schwierzeck , Fabien Dessenne , Fabien Parent , Faiz Abbas , Frank Wang , GSS_MTK_Uboot_upstream , Grygorii Strashko , Heiko Schocher , Heinrich Schuchardt , Horatiu Vultur , Igal Liberman , Jaehoon Chung , Jagan Teki , Jean-Jacques Hiblot , Joe Hershberger , Josh Wu , Jun Nie , Kever Yang , Lokesh Vutla , Lukasz Majewski , Marek Behun , Marek Vasut , Matthias Brugger , Michal Simek , Miquel Raynal , Mugunthan V N , Nishanth Menon , Ofer Heifetz , Patrice Chotard , Patrick Delaunay , Peng Fan , Philippe Reynes , Priyanka Jain , Ramon Fried , Ryder Lee , Scott Wood , Sekhar Nori , Simon Glass , Simon Goldschmidt , Siva Durga Prasad Paladugu , Stefan Agner , Stefan Agner , Stefan Mavrodiev , Stefan Roese , Suman Anna , Tom Rini , Vignesh Raghavendra , Weijie Gao , William Zhang , =?utf-8?q?Yannick_Fertr=C3=A9?= , uboot-stm32@st-md-mailman.stormreply.com, =?utf-8?q?=C3=81lvaro_Fern=C3=A1n?= =?utf-8?q?dez_Rojas?= Subject: [PATCH v2 00/46] dm: Print device name in dev_xxx like Linux Date: Tue, 15 Sep 2020 10:44:36 -0400 Message-Id: <20200915144522.509493-1-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 15 Sep 2020 21:55:23 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This series adds some additional information to dev_xxx output. This requires the first argument to dev_xxx to be a struct udevice. The first argument has never been used in U-Boot, so many drivers have some invalid calls. To fix these drivers, the following strategies were generally followed * If there is a udevice already passed to the function, use it. * If there is a udevice contained in a struct passed to the function, use it. When there are multiple possible devices, I have tried to use whatever "makes sense" given the content of the message. * If there is no udevice passed to the function either directly or indirectly, but all the callers of said function can access a udevice, modify the function signature to pass in a udevice and use that. * If the driver does not use DM, convert the log statements to log_xxx. * If the driver uses DM only some of the time, use ifdefs to select an appropriate log function. I have done a little bit of cleanup beyond these strategies, but for the most part I have tried to *only* to the minimum necessary. Many drivers could use a follow-up patch to convert their printf()s and debug()s to an appropriate log function. I have tried to CC relevant maintainers/reviewers only for patches they maintain/review. If I have left someone out, please let me know and I will add them. CI is passing at [1]. This does not necessarily mean that this series is free of bugs, so I would appreciate testing on hardware. During my refactoring, I noticed a few bugs like struct udevice *dev; if (some_condition) dev_err(dev, "Something went wrong\n"); dev = some_function(); I have fixed such errors when I have encountered them, but they will not always warn or error on build. Removal of the duplicate definitions in will be done in a follow-up patch due to the already-large size of this series. To test this series on sandbox, apply the following options in addition to sandbox_defconfig CONFIG_LOGLEVEL=8 CONFIG_LOG=n CONFIG_CMD_LOG=n CONFIG_CMD_TPM=n Note that there is a soft dependency on [2] if you would like to test this patch with CONFIG_LOG and a higher LOG_LEVEL than LOGL_INFO. [1] https://dev.azure.com/seanga2/u-boot/_build/results?buildId=34&view=results [2] https://patchwork.ozlabs.org/project/uboot/list/?series=201343 Changes in v2: - Support logging with struct device as well as struct udevice. A lot of drivers, especially USB gadgets, log with devices and not udevices. There is no major reason why they can't use udevice, but big changes like that are outside the scope of this series. - Add some comments to __dev_printk and dev_printk_emit - Handle struct device as well as struct udevice - Match format strings for the NULL path to the regular path. This reduces the amount of duplicated strings. - Print the device name before the driver name - Many new patches added to fix build bugs Sean Anderson (46): dm: syscon: Fix calling dev_dbg with an uninitialized device firmware: ti_sci: Fix not calling dev_err with a device i2c: mxc: Fix dev_err being called on a nonexistant variable mtd: nand: pxa3xx: Fix not calling dev_xxx with a device mtd: nand: sunxi: Fix not calling dev_err with a device mtd: spi: Include dm.h in spi-nor-core.c mtd: spi: Fix logging in spi-nor-tiny mtd: spi-nand: Fix not calling dev_err with a device mmc: Add mmc_dev() mmc: bcm2835-host: Fix not calling dev_dbg with a device mmc: mtk-sd: Fix not calling dev_err with a device mailbox: k3: Fix not calling dev_err with a device nand: atmel: Fix not calling dev_xxx with a device nand: brcmnand: Fix not calling dev_err() with a device nand: vybrid: Re-introduce vf610_nfc.dev net: bcm6368: Fix not calling dev_info with a device net: mdio: Fix not calling dev_dbg with a device net: mvneta: Fix not always calling dev_err with a device net: mvneta: Convert netdev_xxx to dev_xxx net: mvpp2: Fix not calling dev_xxx with a device net: mvpp2: Convert netdev_xxx to dev_xxx linux/compat.h: Remove netdev_xxx functions net: sunxi: Fix not calling dev_xxx with a device net: sun8i_emac: Fix not calling dev_xxx with a device net: ti: cpsw: Fix not calling dev_dbg with a device phy: marvell: Fix not calling dev_err with a device phy: rockchip: Fix not calling dev_err with a device phy: sun4i-usb: Fix not calling dev_err with a device phy: ti: Fix not calling dev_err with a device phy: usbphyc: Fix not calling dev_err with a device remoteproc: Remove unused function rproc_elf_sanity_check remoteproc: k3-r5: Fix not calling dev_xxx with a device remoteproc: k3: Fix not calling dev_xxx with a device soc: qualcomm: Fix not calling dev_err with a device spi: sunxi: Fix not calling dev_err with a device spi: zynqmp_gqspi: Fix not calling dev_err with a device sysreset: ti: Fix not calling dev_err with a device usb: cdns3: Fix not calling dev_xxx with a device usb: dwc2: Fix not calling dev_xxx with a device usb: dwc3: Fix not calling dev_xxx with a device usb: dwc3: ti: Fix not calling dev_err with a device usb: dwc3: Don't include asm-generic/io.h usb: musb-new: sunxi: Fix not calling dev_err with a device video: stm32: Fix not calling dev_xxx with a device dm: Use symbolic constants for log levels in dev_xxx dm: Print device name in dev_xxx like Linux drivers/core/syscon-uclass.c | 2 +- drivers/firmware/ti_sci.c | 23 ++-- drivers/i2c/mxc_i2c.c | 7 +- drivers/mailbox/k3-sec-proxy.c | 6 +- drivers/mmc/bcm2835_sdhost.c | 34 +++--- drivers/mmc/mtk-sd.c | 24 ++-- drivers/mtd/nand/raw/atmel_nand.c | 69 +++++++----- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 20 +--- drivers/mtd/nand/raw/pxa3xx_nand.c | 30 ++--- drivers/mtd/nand/raw/sunxi_nand.c | 45 ++++---- drivers/mtd/nand/raw/vf610_nfc.c | 38 ++++--- drivers/mtd/nand/spi/core.c | 8 +- drivers/mtd/spi/spi-nor-core.c | 1 + drivers/mtd/spi/spi-nor-tiny.c | 21 +++- drivers/net/bcm6368-eth.c | 3 +- drivers/net/mvneta.c | 56 +++++----- drivers/net/mvpp2.c | 87 ++++++++------- drivers/net/sun8i_emac.c | 9 +- drivers/net/sunxi_emac.c | 5 +- drivers/net/ti/cpsw.c | 6 + drivers/phy/allwinner/phy-sun4i-usb.c | 12 +- drivers/phy/marvell/comphy_core.c | 6 +- drivers/phy/phy-stm32-usbphyc.c | 2 +- drivers/phy/phy-ti-am654.c | 4 +- drivers/phy/rockchip/phy-rockchip-pcie.c | 14 +-- drivers/phy/rockchip/phy-rockchip-typec.c | 6 +- drivers/remoteproc/k3_system_controller.c | 9 +- drivers/remoteproc/rproc-elf-loader.c | 16 --- drivers/remoteproc/ti_k3_r5f_rproc.c | 24 ++-- drivers/smem/msm_smem.c | 2 +- drivers/spi/spi-sunxi.c | 6 +- drivers/spi/zynqmp_gqspi.c | 6 +- drivers/sysreset/sysreset-ti-sci.c | 3 +- drivers/usb/cdns3/ep0.c | 5 +- drivers/usb/cdns3/gadget.c | 3 +- drivers/usb/dwc3/core.c | 15 +-- drivers/usb/dwc3/dwc3-generic.c | 1 - drivers/usb/dwc3/ep0.c | 1 + drivers/usb/dwc3/gadget.c | 23 ++-- drivers/usb/dwc3/ti_usb_phy.c | 4 +- drivers/usb/host/dwc2.c | 39 ++++--- drivers/usb/musb-new/sunxi.c | 9 +- drivers/video/dw_mipi_dsi.c | 24 ++-- include/dm/device_compat.h | 127 ++++++++++++++++------ include/linux/compat.h | 19 ---- include/mmc.h | 2 + include/remoteproc.h | 13 --- net/mdio-uclass.c | 4 +- 48 files changed, 486 insertions(+), 407 deletions(-) Tested-by: Patrick Delaunay