Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp535889ybl; Tue, 7 Jan 2020 10:26:48 -0800 (PST) X-Google-Smtp-Source: APXvYqxOusozxJmd1/MD7/lI8C78EgUwDARZwm8VvQ2ehuAG5Dzfx7YzM7TC3TuFTx1E73z1r3y2 X-Received: by 2002:a9d:3a66:: with SMTP id j93mr1173111otc.25.1578421608333; Tue, 07 Jan 2020 10:26:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578421608; cv=none; d=google.com; s=arc-20160816; b=SOJO2coLvDHS429oYiOsV7QLQwczdtgcXaCB3wrZNV6NF+Nd7N3ihIBu0W1lZ+d1sj MO8YzmEQ62xQxMLhNeCPD60znP3IdZ4dCOSfNDg/QFqDakAIOcoOl8S8dtRyra5v0DeA d604s+eAAR7V7z1gSwxNT5GHdbzxll/iqvVMCvucrGFmcigFtvdyJsb/o7UY10EsETzK DLJ1d/oOEESsVLCobqp/NjfBECnuoxlxbH9k0c3CHKvrEKxDbuudRx7EDK2R0bFBr0S8 mB1Rgoh5J7NrPa+b+jUGTyt9l6+0ypvtRYwTmJk660BCGHDVfW/LjhZVdRK4xIRtcCzr bpVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=DdtlkqmysC7QcigjNy0+cwRHAkpjBdnPxWkVa9R9ZTc=; b=eNkn/wZo7H7JnnUGyGOOqgnV53EEZ4uuvXKrxfQ3rNljapJocyn0ZC9gzzasjQaBZE naQ3jZkrXsHTwyjriPL6eJLI7YC/7asNvIKN2H9t9PaxnxMs4S5WIDGu1EdfLNBK7kYP DRTDOcNw7E9bu9KdVfdzJUYhyGDs4gx6TikP49axmY4CS1y7OGe5ysVhjTNQrJGyQgVi YLHRJjesYRgKAUibzo+n70+xOUKw/y0RLbMKwBbGrE929CNS/oZjOu+UXP4eVBom5/or cbcSSdtabCbyKwwyTMGhnbApIfr1QbhxQTzIiuQH08/4zrsyaQRwerYwrHL9RJwAdla0 vTLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Pde6ihhR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j7si265450otp.323.2020.01.07.10.26.35; Tue, 07 Jan 2020 10:26:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Pde6ihhR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728535AbgAGSYe (ORCPT + 99 others); Tue, 7 Jan 2020 13:24:34 -0500 Received: from mail-io1-f66.google.com ([209.85.166.66]:42573 "EHLO mail-io1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727925AbgAGSYe (ORCPT ); Tue, 7 Jan 2020 13:24:34 -0500 Received: by mail-io1-f66.google.com with SMTP id n11so304019iom.9 for ; Tue, 07 Jan 2020 10:24:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=DdtlkqmysC7QcigjNy0+cwRHAkpjBdnPxWkVa9R9ZTc=; b=Pde6ihhRfhCEc1QLIWN9x0aQKeHppyfDrxyzpNRSG1dxnxtAWlg/fBBJn9ZVO0D2om t/7FpHC6yhqrGe2we73EUw+Mu271GixYR/hUGzTUiTVKyS4Op6dl7bJmefYaUY3oFACR WhcvyWNkD0yxE7AzI4pReybNDzi1bLhVTg67M= 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=DdtlkqmysC7QcigjNy0+cwRHAkpjBdnPxWkVa9R9ZTc=; b=bMgo/SPU7bncg8n/yxb+wVANnxHi8wgbrz/H+YpKuWc+M+KXzf8LCvD25BSbDqPvlr 8bVMFp/VS+tqRTIK/V25jXRroi0Z7z2HFh0bmDsWKK/0fZ69mGteY8TvagUwYHm05EI1 1PyM0s0jZq5YkgcckXRHQer+nw5FQVTxmHd0Ped/tNhNPuz7h9D7yq8Dg4v3EgLUc+Qz rqFIcRvZZCC49+JSYvGlcaOVBPQE/ypPSl9sBIcdKy3d6CgcEEXKEaJFnDBSGsN9JziT 82GlvcGq3W0iYYRyCu3DrBE+0rV8w0gvy3jElGAmHVhjii1+XatjVTdUm7RhWrh82MUu k/2w== X-Gm-Message-State: APjAAAW9Mj2/0GN7oHroYQTVopHoKnCLJQcXQ2ZvDhkRE3c9oSXc1Cmf rNmw00K9aCXNYF45Dg7Fouifd8qsgdY= X-Received: by 2002:a02:9f06:: with SMTP id z6mr785413jal.2.1578421472726; Tue, 07 Jan 2020 10:24:32 -0800 (PST) Received: from localhost ([2620:15c:183:200:5d69:b29f:8fd8:6f45]) by smtp.gmail.com with ESMTPSA id q1sm64504iog.8.2020.01.07.10.24.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2020 10:24:32 -0800 (PST) From: Daniel Campello To: LKML Cc: Daniel Campello , Nick Crews , Enric Balletbo i Serra , Benson Leung Subject: [PATCH] platform/chrome: wilco_ec: Fix keyboard backlight probing Date: Tue, 7 Jan 2020 11:24:21 -0700 Message-Id: <20200107112400.1.Iedcdbae5a7ed79291b557882130e967f72168a9f@changeid> X-Mailer: git-send-email 2.24.1.735.g03f4e72817-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The EC on the Wilco platform responds with 0xFF to commands related to the keyboard backlight on the absence of a keyboard backlight module. This change allows the EC driver to continue loading even if the backlight module is not present. Signed-off-by: Daniel Campello --- .../platform/chrome/wilco_ec/keyboard_leds.c | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/drivers/platform/chrome/wilco_ec/keyboard_leds.c b/drivers/platform/chrome/wilco_ec/keyboard_leds.c index bb0edf51dfda..5731d1b60e28 100644 --- a/drivers/platform/chrome/wilco_ec/keyboard_leds.c +++ b/drivers/platform/chrome/wilco_ec/keyboard_leds.c @@ -73,13 +73,6 @@ static int send_kbbl_msg(struct wilco_ec_device *ec, return ret; } - if (response->status) { - dev_err(ec->dev, - "EC reported failure sending keyboard LEDs command: %d", - response->status); - return -EIO; - } - return 0; } @@ -87,6 +80,7 @@ static int set_kbbl(struct wilco_ec_device *ec, enum led_brightness brightness) { struct wilco_keyboard_leds_msg request; struct wilco_keyboard_leds_msg response; + int ret; memset(&request, 0, sizeof(request)); request.command = WILCO_EC_COMMAND_KBBL; @@ -94,7 +88,18 @@ static int set_kbbl(struct wilco_ec_device *ec, enum led_brightness brightness) request.mode = WILCO_KBBL_MODE_FLAG_PWM; request.percent = brightness; - return send_kbbl_msg(ec, &request, &response); + ret = send_kbbl_msg(ec, &request, &response); + if (ret < 0) + return ret; + + if (response.status) { + dev_err(ec->dev, + "EC reported failure sending keyboard LEDs command: %d", + response.status); + return -EIO; + } + + return 0; } static int kbbl_exist(struct wilco_ec_device *ec, bool *exists) @@ -140,6 +145,13 @@ static int kbbl_init(struct wilco_ec_device *ec) if (ret < 0) return ret; + if (response.status) { + dev_err(ec->dev, + "EC reported failure sending keyboard LEDs command: %d", + response.status); + return -EIO; + } + if (response.mode & WILCO_KBBL_MODE_FLAG_PWM) return response.percent; -- 2.24.1.735.g03f4e72817-goog