From nobody Fri Sep 25 12:33:45 2026 Received: from mail-pz2-f30.google.com (mail-pz2-f30.google.com [74.125.228.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37CC247AF6A for ; Sat, 12 Sep 2026 12:28:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.30 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789216111; cv=none; b=DYReDP5TCLsn0QnQxI801kcevWvS5a/brUgOb1pqgtk35gKE2KEdT30veg2KlofcalM7cQ2PH6HNqJq+Ux+hCiEHVw8HR0g1yjTkO6W7JaaC4EOxnh4xtJ+1lank9/1J9GiEKDxdnZ3rVhyJWupukdiF4q5r7858kBC9zPLKhmE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789216111; c=relaxed/simple; bh=yz6bckSpPK+mT3wOAvuYtNvVu5X2DaRSd2H64HUk4Tw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=riqjpfPu2J3P3TWIzjxW8nrTRQNs7OA1mrDAAX42EDTBsGkd5377+4Uft/BTR+jmKCGU50bCHgMbyUlJnRjgArF3XfpcIZIMQZ6eR5zyADReRlcLow2tj7QPMZ0i50pU21iKdMb3wPKgwkv8GtyODoAB5hk/2baETeCrUL0lXi4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d9EYzk9N; arc=none smtp.client-ip=74.125.228.30 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d9EYzk9N" Received: by mail-pz2-f30.google.com with SMTP id 41be03b00d2f7-cc1cea50dc0so128767a12.2 for ; Sat, 12 Sep 2026 05:28:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789216109; x=1789820909; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=B3nhmvqGa2kNf07F150Q8CjjmWkxjneDBxSr089YGCY=; b=d9EYzk9Nb8wfT/6U8/F+ueLS+UyUPUU0LVB46HPlSq4xKXbWD5LqEwwSMOJjch5w52 58CdMhG7RmggzxCm+mTKfkYzPRXLPIL8w91Gq4BTq9yjrsFc50H7KFNIMJ9VCT1u6QT7 Utbo20p7/QnbefYz4qwPrbQCfiPhRkxbg88+UIbCkwEt/MSkfpdR6M9Zvjq4xufYEv0m YBAc/g3Z7e272RWF5vsO2PPyfwdz1ylQ8dyMsV9dXUhLWblA+PtJbQ4QqoLBMnK8at/r pyg1GVpVkW9DOyUYxFdb9ZJqU0wPUspqURUns+U/wj/RKwOTg9h18m5nL0awKCbgaHC8 Q8Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789216109; x=1789820909; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=B3nhmvqGa2kNf07F150Q8CjjmWkxjneDBxSr089YGCY=; b=QcgYn0HdPf/82T7MntsWWWIJEAfWKyQ0nvjYbICiA23dhqywdQaYIv8LabakWgN68W Lzi3WAPAjutK30UZEGoSPxt67cbdGlXJ9q4+RxX9eeNETfMWcMTEu3OizVmuWSgxDQ4M M92A+PmEI+x0KMfaR8VLtGDbjs1O5NtgwSGaQmICYf7Z+Adm1gegQYi0bhiwcKfMgx8w oMVhlKZ24s6Eb4fWycZeku/OV/pmnEMgKNDlveAvxzkLoI725C7ML0UlC6Fd2VY2zcHn MGh5tEOulgKLe7S3rQkuJkYXr178VtAJjV+0PaMOlZglwtCKWmoVhacDQEItCotRVDZS Leng== X-Forwarded-Encrypted: i=1; AKwUvByKoqmZSZjPKX5pops0w9MXA3HpaM71TPqw88pDfBCBSs2Dhmfrk8sIp4O36Xe7OV3aSFWzrRKCv5aiv/4=@vger.kernel.org X-Gm-Message-State: AFuF++nZTkYeBbejgrW2nULw8LpTFUOHjaEC+ypcDibF0LB+ELLrKzLu mtDlsHuXjorN6ky9Lt/7XsuW2zsQmf5y9cuf+TxPzKKsFJfQbqKZP3v84yFH/w== X-Gm-Gg: AYBFou2jPVhW4vlEwc/oCmBA4fZCrvMHF3yh40ky9dm6SAwpUxxqKg7mvWOOzlK+Rki ab8PwT9psl6306+9PPlfwSxEwFkX0pTCxmLmdFtOZ5SUgfvOdhS4jn8xRvD8KKOXjaBiU4KI0BJ 40ZyGMnR7jzKNJO594sqpt8Nk7KftpujB4CHgaOX1mlmFmK2/JUAfA3QS1cA51LuufbJ4zJ/D8f LPQBM/THFo/kikLx9pmUVc2+a32T8QjnRl/vVBXiBWPe63XQM/gAP+Yvnq3Nbk7kF5zOcQC8GFL hvFWNaRcmaWEypKfq2EGOM5mgcnROp7Jj/dhmQC244N+baUMRwolZJ9uk3TIi/gUXkd2D6NA9ce 5KrXB9eIYmoZ70f/Gaa4ArTE9/GDrVui2dIN/O1tn3DsN/fEY0We1NJReKvuiVGJMEpfFTmYzmB 6kuokt6KpRi3gqSddSoXZet5dt1dupU8cgrJJzpiOvg0wysaZ5dNurHTz0swkePc8= X-Received: by 2002:a05:6a21:a98:b0:3d3:ad3c:49a6 with SMTP id adf61e73a8af0-3db0e41e8bemr4637386637.20.1789216109248; Sat, 12 Sep 2026 05:28:29 -0700 (PDT) Received: from [127.0.0.2] ([2404:c0:701d:4e35:aab7:8c01:68f1:4912]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc4c65b1a63sm2512427a12.31.2026.09.12.05.28.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 05:28:28 -0700 (PDT) From: Reza Kurniawan Date: Sat, 12 Sep 2026 12:27:33 +0000 Subject: [PATCH 1/2] power: supply: bq256xx: Expose VBUS state through extcon Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260912-riva-usb-v1-1-0acd5cf8c62a@gmail.com> References: <20260912-riva-usb-v1-0-0acd5cf8c62a@gmail.com> In-Reply-To: <20260912-riva-usb-v1-0-0acd5cf8c62a@gmail.com> To: Sebastian Reichel , Bjorn Andersson , Konrad Dybcio , Abel Vesa , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Reza Kurniawan X-Mailer: b4 0.15.2 Useful for USB controllers needing to sense VBUS state changes. This is needed for devices like Xiaomi Redmi 5A (riva) that doesn't have its VBUS session comparator wired directly to the USB connector pin to automatically enable certain USB functions upon the presence of a USB power input. Signed-off-by: Reza Kurniawan --- drivers/power/supply/bq256xx_charger.c | 88 ++++++++++++++++++++++++++++++= ---- 1 file changed, 80 insertions(+), 8 deletions(-) diff --git a/drivers/power/supply/bq256xx_charger.c b/drivers/power/supply/= bq256xx_charger.c index 4b1f81b1e..46b036be3 100644 --- a/drivers/power/supply/bq256xx_charger.c +++ b/drivers/power/supply/bq256xx_charger.c @@ -16,6 +16,7 @@ #include #include #include +#include =20 #define BQ256XX_MANUFACTURER "Texas Instruments" =20 @@ -209,6 +210,7 @@ enum bq256xx_id { * @client: i2c client structure * @regmap: register map structure * @dev: device structure + * @edev: extcon device registered to report vbus state changes * @charger: power supply registered for the charger * @battery: power supply registered for the battery * @lock: mutex lock structure @@ -229,6 +231,7 @@ enum bq256xx_id { struct bq256xx_device { struct i2c_client *client; struct device *dev; + struct extcon_dev *edev; struct power_supply *charger; struct power_supply *battery; struct mutex lock; @@ -1164,8 +1167,14 @@ static int bq256xx_get_charger_property(struct power= _supply *psy, return ret; } =20 -static bool bq256xx_state_changed(struct bq256xx_device *bq, - struct bq256xx_state *new_state) +enum bq256xx_state_change { + CHANGED_NONE, + CHANGED_VBUS, + CHANGED_OTHER +}; + +static enum bq256xx_state_change bq256xx_state_changed(struct bq256xx_devi= ce *bq, + struct bq256xx_state *new_state) { struct bq256xx_state old_state; =20 @@ -1173,27 +1182,50 @@ static bool bq256xx_state_changed(struct bq256xx_de= vice *bq, old_state =3D bq->state; mutex_unlock(&bq->lock); =20 - return memcmp(&old_state, new_state, sizeof(struct bq256xx_state)) !=3D 0; + if (new_state->online !=3D old_state.online) + return CHANGED_VBUS; + + if (memcmp(&old_state, new_state, sizeof(struct bq256xx_state)) !=3D 0) + return CHANGED_OTHER; + + return CHANGED_NONE; +} + +static void bq256xx_extcon_update(struct bq256xx_device *bq, bool online) +{ + int ret; + + ret =3D extcon_set_state_sync(bq->edev, EXTCON_USB, online); + if (ret) + dev_err(bq->dev, "Failed to update extcon state: %d\n", ret); } =20 static irqreturn_t bq256xx_irq_handler_thread(int irq, void *private) { struct bq256xx_device *bq =3D private; struct bq256xx_state state; + enum bq256xx_state_change changed; int ret; =20 ret =3D bq256xx_get_state(bq, &state); if (ret < 0) goto irq_out; =20 - if (!bq256xx_state_changed(bq, &state)) + changed =3D bq256xx_state_changed(bq, &state); + switch (changed) { + case CHANGED_NONE: goto irq_out; =20 - mutex_lock(&bq->lock); - bq->state =3D state; - mutex_unlock(&bq->lock); + case CHANGED_VBUS: + bq256xx_extcon_update(bq, state.online); + fallthrough; + case CHANGED_OTHER: + mutex_lock(&bq->lock); + bq->state =3D state; + mutex_unlock(&bq->lock); =20 - power_supply_changed(bq->charger); + power_supply_changed(bq->charger); + } =20 irq_out: return IRQ_HANDLED; @@ -1554,6 +1586,40 @@ static int bq256xx_power_supply_init(struct bq256xx_= device *bq, return 0; } =20 +static const unsigned int bq256xx_usb_extcon_cable[] =3D { + EXTCON_USB, + EXTCON_NONE, +}; + +static int bq256xx_extcon_init(struct bq256xx_device *bq) +{ + unsigned int charger_status_0; + int ret; + + bq->edev =3D devm_extcon_dev_allocate(bq->dev, bq256xx_usb_extcon_cable); + if (IS_ERR(bq->edev)) { + dev_err(bq->dev, "Failed to allocate extcon device\n"); + return PTR_ERR(bq->edev); + } + + ret =3D devm_extcon_dev_register(bq->dev, bq->edev); + if (ret < 0) { + dev_err(bq->dev, "Failed to register extcon device\n"); + return ret; + } + + ret =3D regmap_read(bq->regmap, BQ256XX_CHARGER_STATUS_0, + &charger_status_0); + if (ret) { + dev_err(bq->dev, "Failed to read charger status\n"); + return ret; + } + + bq256xx_extcon_update(bq, !!(charger_status_0 & BQ256XX_PG_STAT_MASK)); + + return 0; +} + static int bq256xx_hw_init(struct bq256xx_device *bq) { struct power_supply_battery_info *bat_info; @@ -1743,6 +1809,12 @@ static int bq256xx_probe(struct i2c_client *client) if (!IS_ERR_OR_NULL(bq->usb3_phy)) usb_register_notifier(bq->usb3_phy, &bq->usb_nb); =20 + ret =3D bq256xx_extcon_init(bq); + if (ret) { + dev_err(dev, "Failed to register extcon device\n"); + return ret; + } + if (client->irq) { ret =3D devm_request_threaded_irq(dev, client->irq, NULL, bq256xx_irq_handler_thread, --=20 2.55.0 From nobody Fri Sep 25 12:33:45 2026 Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41E5B47AF6A for ; Sat, 12 Sep 2026 12:28:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789216117; cv=none; b=k4Ci/8PVIGXm7GVpqxyHq1BoV+jxcfM/AzmEciy8aqFxBV8qRjyLii0rxTJxN5rp3eDgkL4z4AxZmXVXw0dIVlqNdOlVbxq3ABdSsYAHhy0IpgYRpwfSKi4QJlujIMgbvhskL+CFBfxWNuWXcnf/C2PbfefKBFqJs9q4dp8oXZo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789216117; c=relaxed/simple; bh=yUyedlztWXbA3lwvxrO/styw1IzAPB86ioonRT5zCKQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eW1vylMhIW+2pnsokOhwWClVZbKc3q9Qnx/JURI5ecBgba1dhEmg9oyjd4/vlfnXT0DeuuY2w9lw4jJFmK9LnuGsJTcSG8A0kdUwbWPwb4PlM7wjWHs5FUe3723fio7JLRvrbE/ifEL/80SuCBX/WCXTYsR5quGutR+lKBgPo5Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FQMGHtNX; arc=none smtp.client-ip=74.125.228.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FQMGHtNX" Received: by mail-pz2-f12.google.com with SMTP id d2e1a72fcca58-8631d0023daso241503b3a.2 for ; Sat, 12 Sep 2026 05:28:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789216114; x=1789820914; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NujR5wP2r0gRxOSsqzPbYYRli2E0gkVnbRP1/4DKQ0s=; b=FQMGHtNXnLSv3hx05ZffmV9mTCQwmOmkig6m+l4oAeJJIyusqLx6maD60McHA53IG4 CohFJbO11R593vSPuqvVtGgMDf3U5sjV2ZH6FeSihHI99PXnltnrUZZGBUWpoayo4XhZ 8x1HLTsiuskSsls5XWpQ9F+1s6lioJnZRA4FBy5bjwKUi/cHnyqMOelT+CPIctt5K2ZX Zvub1Rox9JK8pmnKpIYhd9lRD1+LtCzIl04rAYW/vRt0c/dBp95fe0T5g3VVAuSBGDgv yyZEg9QScLZcxDMF90TZIQG34imUmf5DEtIy6L2dI5Nl7gR0Pbzgoiherc8KKVElmZTG asHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789216114; x=1789820914; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=NujR5wP2r0gRxOSsqzPbYYRli2E0gkVnbRP1/4DKQ0s=; b=Ma/2LpiwUlwITfwpu3L/Y5GGXgVdX71MFTGsThsqij1XANfmWwonj4+u9sFT8p0u1l D6hVG1XaLQPZ+NB6QEkqyeWFJkgRHNxlMBSLGe33SkapGW+IPY+ON9dxCQj3lIV9GV2D xXvScqGhsVDgRMbVSQaY7jMekRSQN0EJCHs/pUM6AxYFseeXBE+vCMwWsMLWXlQynsDt 0GrKu36tdfzN/rLREcvmCs9GRUWgLPFvGdlGn0WYHybR5PLVoKCOOf+VCu4kZA3Ti9b7 uU7xXzjyWoraFGzs86ooO1HTn0QcDNYeff8SUsyKChbEbqM6rRm4JmbqDnwBx/R3yMlu Apbg== X-Forwarded-Encrypted: i=1; AKwUvBwD+ksO+LmeCg+W8OmbFO4oFm6jliS4xfJ/wQHqbsBP1BWQnQrEkD0SHS8TspmCWZ24vFLeEpb9T9XlcJI=@vger.kernel.org X-Gm-Message-State: AFuF++l0S7OEewzwci2gy5VzDzmZ9HgIPCiLvI9s1iKzlQM9AbAZOVVA 9/z9xneWEnhNS4jlkoHncy32Y1Fn+F09AurfUBgIZxr5UrhW0CTK0c3m X-Gm-Gg: AYBFou0pZfJl5GlUzrgX9tUi1HW4ruDoAXyacrj/XkTLv9OWE7u4LXOjWgYc5aO1sK1 9PseHrdv4CtmMGrb9G1wUWUEBnHKDTUHoGqPgIbykwd7L65DhIil8JLXN74n1B+uuA+mn6wo9Eq 36zuAwSpHh85SXwGX3Nq3lqdYOPjmeFqrR/H/NGQV2JyvlmPOGLacqYQoG5MTICUnrJPM7bZZI3 8GFAevZ2EG6Ixl1VA2D9cuPTkAz4MLHBdx6oNeN804aIxZCmDNvKufP0SyFeCCxCGkC0friu5OJ PS/TpHR4bPBgeJfcCOARYmj/1vBmgDpnAoOnMsguAApM/LZgxepRgPH0fsBB6drAMYeBRC/p+tZ UX1L/EOZYbDBcOP+OzViPtEEqVcKtOCjiJiZlleNGcrlKsctQDRuuQAJCtZ9Za2TU5z0IxF0m8o 4HkIUdzFdoqV7K4LH0FLJEUCKzi6cg+5LUGs0q0AvEHcG2yAJO6RVXx/RBfWmbqQA= X-Received: by 2002:a05:6300:6684:b0:3bf:9b3d:61bb with SMTP id adf61e73a8af0-3db0e1f7d7bmr4991615637.16.1789216114472; Sat, 12 Sep 2026 05:28:34 -0700 (PDT) Received: from [127.0.0.2] ([2404:c0:701d:4e35:aab7:8c01:68f1:4912]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc4c65b1a63sm2512427a12.31.2026.09.12.05.28.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 05:28:33 -0700 (PDT) From: Reza Kurniawan Date: Sat, 12 Sep 2026 12:27:34 +0000 Subject: [PATCH 2/2] arm64: dts: qcom: msm8917-xiaomi-riva: Enable USB support (peripheral mode) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260912-riva-usb-v1-2-0acd5cf8c62a@gmail.com> References: <20260912-riva-usb-v1-0-0acd5cf8c62a@gmail.com> In-Reply-To: <20260912-riva-usb-v1-0-0acd5cf8c62a@gmail.com> To: Sebastian Reichel , Bjorn Andersson , Konrad Dybcio , Abel Vesa , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Reza Kurniawan X-Mailer: b4 0.15.2 Enable USB node and PHY. Since VBUS is wired to the charger IC, also set extcon of the USB node to inform the USB driver of cable events emitted by the charger driver. Signed-off-by: Reza Kurniawan --- arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts b/arch/arm64/= boot/dts/qcom/msm8917-xiaomi-riva.dts index 7c323214a..c47aad978 100644 --- a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts +++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts @@ -69,7 +69,7 @@ power-monitor@55 { monitored-battery =3D <&battery>; }; =20 - charger@6b { + bq25601_charger: charger@6b { compatible =3D "ti,bq25601"; reg =3D <0x6b>; interrupts-extended =3D <&tlmm 61 IRQ_TYPE_EDGE_FALLING>; @@ -89,3 +89,18 @@ bq25601_int_default: bq25601-int-default-state { bias-pull-up; }; }; + +&usb { + dr_mode =3D "peripheral"; + extcon =3D <&bq25601_charger>; + + status =3D "okay"; +}; + +&usb_hs_phy { + vdd-supply =3D <&pm8937_l2>; + vdda1p8-supply =3D <&pm8937_l7>; + vdda3p3-supply =3D <&pm8937_l13>; + + status =3D "okay"; +}; --=20 2.55.0