From patchwork Wed Dec 5 19:53:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1008426 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="Vb5mvRIY"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 4398cB0T26z9s3l for ; Thu, 6 Dec 2018 06:55:54 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C4472C224FB; Wed, 5 Dec 2018 19:55:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 91719C22066; Wed, 5 Dec 2018 19:54:38 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D8505C22700; Wed, 5 Dec 2018 19:54:26 +0000 (UTC) Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by lists.denx.de (Postfix) with ESMTPS id 27789C22716 for ; Wed, 5 Dec 2018 19:54:26 +0000 (UTC) Received: by mail-vs1-f71.google.com with SMTP id b203so10796758vsd.20 for ; Wed, 05 Dec 2018 11:54:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=DQD+mAKn7PWgKN5FVtaOrVjlWRCx00uv6ZSGrUgczGc=; b=Vb5mvRIYIt8mz7OWyX6CNfLHWsCp6C9wvYy+SOhwJEd7eX2s0i6P6DTIT+I8wcge4j vMESK12VfKP84gTyWUiKVKgAklVYak7Ktd7Qh3n0nS/zTGXbmKbFiKacuNBikNW46t4H ATB531q8cKMu5/99Yd8naS0TLaT9OtlTsr2Gw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=DQD+mAKn7PWgKN5FVtaOrVjlWRCx00uv6ZSGrUgczGc=; b=XElbR2B3PXt7FuDzeJsBjwfkO8381pfUtHpd5DqDzuqmKg86ELFeUb8jT4767Tj7fw XYM0yJfz1Kgyvvt8NfdrIrrBXtfeYFJ5nDPAgPBEkjdihtFtke7wBmHaBhrLfsVbZPUG v6MacCJhefBOfQ+fkD9/FxyJi0ZPLNxKhJoDAnj19RkZcFNPDx+mG6qVEbrMkz4X2aoe dD0Nv/+CildVyWrOA9KP7xknlr2X+yj1D1/MRF6cr2KxVH1cYogZQtf2zn/wLnhyB2vG Km5VDbYaccIZbzWDOVjxdhBeDb7gGsuXvDImAaH1MP1AIX1RyrUCJ7CKPsGA5lW6+kc7 sCNA== X-Gm-Message-State: AA+aEWY3CA8aSB8Duu/L4igybfWGpD/0GkqUnb3x1dKfX+W8JiXvrkL9 /Tzv1Z76Cm4kBW2bNQ1ZVf7saV+gk8wi27e5 X-Google-Smtp-Source: AFSGD/VmOt5erFKa+PpBUqJoOcDXlk9wnwa4DNa4m/7jqb8J3wvGAA3P5oMuMNK6KGtEpo2w3w2b73IHuXjykCuE X-Received: by 2002:a1f:1409:: with SMTP id 9mr21570808vku.20.1544039664818; Wed, 05 Dec 2018 11:54:24 -0800 (PST) Date: Wed, 5 Dec 2018 12:53:50 -0700 In-Reply-To: <20181205195353.246542-1-sjg@chromium.org> Message-Id: <20181205195353.246542-3-sjg@chromium.org> Mime-Version: 1.0 References: <20181205195353.246542-1-sjg@chromium.org> X-Mailer: git-send-email 2.20.0.rc1.387.gf8505762e3-goog From: Simon Glass To: U-Boot Mailing List Cc: Alexander Graf , Michal Simek , Andy Shevchenko Subject: [U-Boot] [PATCH 2/5] dm: serial: Adjust serial_getconfig() to use proper API X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" All driver-model functions should have a device as the first parameter. Update this function accordingly. Signed-off-by: Simon Glass --- arch/x86/lib/acpi_table.c | 5 ++++- drivers/serial/serial-uclass.c | 9 +++------ include/serial.h | 2 +- test/dm/serial.c | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c index 79bc2000bda..bfcf2adbf12 100644 --- a/arch/x86/lib/acpi_table.c +++ b/arch/x86/lib/acpi_table.c @@ -342,6 +342,7 @@ static void acpi_create_spcr(struct acpi_spcr *spcr) struct acpi_table_header *header = &(spcr->header); struct serial_device_info serial_info = {0}; ulong serial_address, serial_offset; + struct udevice *dev; uint serial_config; uint serial_width; int access_size; @@ -431,7 +432,9 @@ static void acpi_create_spcr(struct acpi_spcr *spcr) break; } - ret = serial_getconfig(&serial_config); + ret = uclass_first_device_err(UCLASS_SERIAL, &dev); + if (!ret) + ret = serial_getconfig(dev, &serial_config); if (ret) serial_config = SERIAL_DEFAULT_CONFIG; diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c index ffcd6d15af2..81f1067f422 100644 --- a/drivers/serial/serial-uclass.c +++ b/drivers/serial/serial-uclass.c @@ -294,16 +294,13 @@ void serial_setbrg(void) ops->setbrg(gd->cur_serial_dev, gd->baudrate); } -int serial_getconfig(uint *config) +int serial_getconfig(struct udevice *dev, uint *config) { struct dm_serial_ops *ops; - if (!gd->cur_serial_dev) - return 0; - - ops = serial_get_ops(gd->cur_serial_dev); + ops = serial_get_ops(dev); if (ops->getconfig) - return ops->getconfig(gd->cur_serial_dev, config); + return ops->getconfig(dev, config); return 0; } diff --git a/include/serial.h b/include/serial.h index fa7e0130bd2..5ba031ab534 100644 --- a/include/serial.h +++ b/include/serial.h @@ -281,7 +281,7 @@ struct serial_dev_priv { /* Access the serial operations for a device */ #define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops) -int serial_getconfig(uint *config); +int serial_getconfig(struct udevice *dev, uint *config); int serial_setconfig(uint config); int serial_getinfo(struct serial_device_info *info); diff --git a/test/dm/serial.c b/test/dm/serial.c index 19a15d5d952..972755face3 100644 --- a/test/dm/serial.c +++ b/test/dm/serial.c @@ -24,7 +24,7 @@ static int dm_test_serial(struct unit_test_state *uts) * sandbox_serial driver */ ut_assertok(serial_setconfig(SERIAL_DEFAULT_CONFIG)); - ut_assertok(serial_getconfig(&value_serial)); + ut_assertok(serial_getconfig(dev_serial, &value_serial)); ut_assert(value_serial == SERIAL_DEFAULT_CONFIG); ut_assertok(serial_getinfo(&info_serial)); ut_assert(info_serial.type == SERIAL_CHIP_UNKNOWN); @@ -32,7 +32,7 @@ static int dm_test_serial(struct unit_test_state *uts) /* * test with a parameter which is NULL pointer */ - ut_asserteq(-EINVAL, serial_getconfig(NULL)); + ut_asserteq(-EINVAL, serial_getconfig(dev_serial, NULL)); ut_asserteq(-EINVAL, serial_getinfo(NULL)); /* * test with a serial config which is not supported by