From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753795AbcGTJtP (ORCPT ); Wed, 20 Jul 2016 05:49:15 -0400 Received: from mail-bl2nam02on0089.outbound.protection.outlook.com ([104.47.38.89]:55856 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753623AbcGTJtD (ORCPT ); Wed, 20 Jul 2016 05:49:03 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; From: Peter Chen To: , , , , , , , , CC: , , , , , , , , , , , , , , , , , Peter Chen Subject: [PATCH v3 1/6] binding-doc: power: pwrseq-generic: add binding doc for generic power sequence library Date: Wed, 20 Jul 2016 17:40:24 +0800 Message-ID: <1469007629-31757-2-git-send-email-peter.chen@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1469007629-31757-1-git-send-email-peter.chen@nxp.com> References: <1469007629-31757-1-git-send-email-peter.chen@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131134817390692474;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(2950100001)(6806005)(104016004)(11100500001)(356003)(19580405001)(8666005)(33646002)(305945005)(7846002)(68736007)(19580395003)(47776003)(8676002)(8936002)(85426001)(50226002)(50986999)(76176999)(105606002)(77096005)(92566002)(229853001)(81166006)(81156014)(5003940100001)(586003)(2906002)(4326007)(106466001)(2171001)(48376002)(2201001)(50466002)(189998001)(87936001)(5001770100001)(97736004)(36756003)(86362001)(41533002)(7059030)(2101003);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR03MB2476;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC014;1:yKgLWhUTHgAKtma7kChqkCB6Z+aD8xD9zLJYblGTBYndnMM61uwIm/5MT8erxM5rxJUhFz0Gk3zed3JEZhvJaFP2B4pxhCM7u9DdNtWwRX7IT0Np/WlP1oI1NCcmklK0sC3pA1QSIA0Lq1qc+5PuRlTg9Ogxzr6QKOoC5re/Bi1ASdMLb1TBjwxrwUzUYtxyjdHp1plTM3jPqmBkCHbNWAj4Cer0eDm7zad7mBMGLzycVJ61BCcRJ5mPFeCJJ9ur9XgnON7EYvg1bgW1yeFTAUUD+ihsAPsiO1mTggv7NCS0nUv24ROipqBirVi7VlXQ+O5hybWZnY0l5ifaPpn5vzAYFpJqzfezuAt1my++JLNTBfx/+8OkrIrF/jHjzarvR0OrRPyDWocDMSFNW82ydkBu5u5sqjtDyBdrqOQotjU2HqnBj49aTubNd6rx/5vgQbh4PvweRYqqjYwkM6NCKwwFhONUyu2ER1xTyAazBYZaAAIflgGOxOichEnnKQ8F5Lxk0Zgi73Q8wb7GBBhIVOrpmttiR45eDnqkfyN2w8qVFZPRyvCNj8KNxkaXl9KtSvRqnn5JIr25w6A2GiWt4tb/3PvcZtZ0pJWFw2XdYn+khcqrhw86gJ1mW6Au/x5wAAHuvsHQUcz71TxGFJzBIeSu3u2/92xTypborlxLNjIQ6Iq+r9Nsf903zajrYkQFkl7YTWoAEZG2/k5z7YExw/B5uPysCNobuHfwLEkmZlETOWWxn04AhwckBA4TFBgq MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 8ddfc1e6-aa1e-4bc8-a71c-08d3b08312b6 X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2476;2:ZzHafWAIgJZhwGh9T1faKf+p1MoU7Acmp6f1Cwc3VRmemidpbTf1cI1cf/Gi6B4ypIwZ8+Is/lwM1FaVJ3sLR/CJGpsq/LfeCtbBSi8EWuMMEMpCMxNWM48+qk3mNWba4LKg2iQRd/tD59197I19kRSiXaAsqiCQAkSpmpelgqVXAKQVJ8UU7GFhTFYDP0BZ;3:duAL9a9QTcIUQ0vf8hyrXB1Dog2mNLONawpdKefTOIMxWJEkJcVZJzOdNPd/DMfFIMwPrYYYVWd5HTkChM8ArwARfBianin8KhK/X2DLs9fwxEL5aIDgV5x/zj7v4DGIED4VayIKsibvGHNn01m0AqYgEDeP4bL3qYFXumsER+/l4RxNPu21Rq9UOZFcUTy+xF0w8hGlsT8sPfHzypXPxFt8Q/d5xOak/+6R+c7gri0=;25:d4euq7inYhZgazmZ8FzDSUFKFB81/ZvAJjnvdkG0KTQU+GWhh6P315T/26md6HJpIihwNSN7pbmlOsGqEqopwXmmv/qk+/afU0EVTtw2k6HU8VgQgfHo5PigWSUuSVN3QXsIbF2o4RT7NAhBzifCO5Y/YTdm5Gijmv27lhV/LTJDoh6foHqbv3wpj4SQ+QgXd1VT+QToIAsqA9ivNuB8nUaitp3WPDVP++N8CxjI8TstkV3UM2Hh5DMOWNc5aUWBRW7RXZrLUoQ+lTmj/N6P+d5lFWt2Y+S+0VBmUIf8EZgYI5GMBzUo9dgsYXqcMc6Sxo91whuhQlkWDMl/ywOFfo5tYD6WK6Cda/ELVm8RY46XTPeSFPUjrDZnXB7F6b1hY7iWVbtCMTqa4nljzLHy/Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM5PR03MB2476; X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2476;31:jnHM4WCFBFQnMl9lBs/+ELYx0nnyi78Hpf4kcnNFKI3OlyUpDOUGZKprig/D25rLxF2i8vLZHHU3xCM7DUrMTrCv6fiWwtCe6njc3MCCXxsIiz9Vn60NcJmZyu+7CWnK8qKpzmQ0R5yNmVYMF4szi8YE/njZWDBSg1REHcgVaXmP3Ig7LS/h6ISoKYf7+plawMZoLNoVu5mocJcks0cx7A==;4:ctaxPx61enJDHfB1/N461SN2aSr4EZ1RmRiRlp+xyOUUDYUMPmXavzOQnBY3Kbs6+0mfxLH1Bp4HKCpjRbqZF5tInfWzEnNjHan07/qGK1Ljo4Oa8LBt7sb18nqoK7Z2pjxa2za2uwH8Pds62S6ZcqzKk9TDnYsF/3CxY1+dseS7u9l6KSN5ZDhvNZEkLl0LiheN9CKrArW4EisGumbbfUUVLk6YXglV2MoXL8oumV6y5+bK8ilS88HX8LODOj3c+NUex8uOHJEiI42YnpmXsk4OKB1fWw/ba0bL2BswVq4iF/IC5yb1bPBv5ete/Qz63Bqqt5GyTyMeKK3EtbZ3h1+VQsfMNXtB1UwA6NFxhRjg8zJiPVpNSbNakmmCeIyR2Mue3h59IK17yMwyI7glNkDqriTS9eSFiNKL3LSEjM1XQgBtXWG51TrFvRZVXON5qxp5Bjvd7CZZdPuldcE0SwnegFl7aYst3HfrzNA8kSSF719DYjF4GVbORl4rCim4RRlkKYIksLnxueuSedGFWQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13018025)(8121501046)(13024025)(13023025)(13015025)(13017025)(5005006)(10201501046)(3002001)(6055026);SRVR:DM5PR03MB2476;BCL:0;PCL:0;RULEID:(400006);SRVR:DM5PR03MB2476; X-Forefront-PRVS: 000947967F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR03MB2476;23:puD+tKQC6U/igZzqC+5ZI2R3eiDJBExzqNloAO/mf?= =?us-ascii?Q?4vQOvJxqssxomedMDsq6ep00deifGDJLETRsMOEQ1tZBz6fJQ47raKNTaJQz?= =?us-ascii?Q?Y1AgQ5B9hpS0M3VKaA0YxYCc5LJQfIkZBPaKwPKY+jA+zNlZnxs0eDgl9AXu?= =?us-ascii?Q?Ud+FXVXSfihk6ybX2pJcij3NWD6unXqoMxapxWlS0n8ba0RCAIqz9nWP0IUz?= =?us-ascii?Q?pGXliAoJ+5KIPDxXh6pXSDkRmBU0kwkT43p3Ny5mCoQtfGICDbHjbBaRYMST?= =?us-ascii?Q?MQA7hn1QlkXbN01fwSKG9wY3+cc1GYnogFbf73Nqs3no2XdT8mvIdDlX8l4B?= =?us-ascii?Q?Dils8DqVV1D6xtIBcu4jwnoNCy/z0NR+xKfpC3mDQO8qwoaJxR9yTeoUGmP5?= =?us-ascii?Q?al57x6gM4qV66XM61Aw7iKaL8NMgiMsxJ/QhF1rHlI34zwSPuqOLJyOuFlYO?= =?us-ascii?Q?TTBI5Z81qSYctd9XSoAJWQnmr4xZPWnzyu8KHCQZhp1VJyvDSHkwCMaBm/kG?= =?us-ascii?Q?Q8C+zjpoMCEg7tXVmY5rmSw9AeAdNnM25tuZ8hOPNIjmdWjukW8OBRDtoLWb?= =?us-ascii?Q?+Obgyx0GYmiEaTql+RIXi7rFHVegkcz45jS3q6TPW3XRSkDdrhsAUbbwO+fa?= =?us-ascii?Q?1DHhox4tcv062FfnAnT4QUV5uwHgG3jNNIxuftvouuuQ2ycOM+gpO/hDrKep?= =?us-ascii?Q?szXahrhdOJBHMtzYekp3ew+HsmHb2ndJbjsOd+ni18rkPB60evMZG7fOb6qj?= =?us-ascii?Q?5+/X/sMY81weowqG/HooS2sMbCxet6mYy4vmLW/sAbM8d7QY69mgbg2p+P2e?= =?us-ascii?Q?LurZ/zaVMjF2U0daZ4F0bRH35lHw2qtfxT+TKPWHqWzw/AzmZ5XSHMiRMKyo?= =?us-ascii?Q?eJRaf8ettzHkevb2uV1Laj4B0zrjalLKtFuzbX2f5L6qVD5wrXjpIBN87qUm?= =?us-ascii?Q?6INJTAuu6iLVqhCFg6p3HBxzsyRlnnaSctzrjkqVR05w10D7/2gLETJQBDkc?= =?us-ascii?Q?wcVFJp+id1IKoNf8ktsAC+JTVmp89/cJCwy0ASPdYdI5aJpMm1EQpPD4BcJa?= =?us-ascii?Q?v+0tfKehUHH6xuj2NOxIXJvTAwtds4W/2tk2fESu/C/gaPYXinEZeQ7tpVOL?= =?us-ascii?Q?WF8DjWxZEiYCnutjjfaUVFjaOga72xD6hEcbVfL43UpIRQfBY02lTKlJQgJq?= =?us-ascii?Q?nxKZc6xTVUccIJ9KGFIBUlqGVYQzE5YZpMZdY+UVtOY809zTEIdfnD85g=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR03MB2476;6:RxQSVLd5gTslBt67WDY4vQzN1rWjwxMwcL/QCEpcQG59puHeX0yaabrbE04iqbOmb3vNjvd044eXuk3sZip6rxkDwg/jAAa2a5szAcMMSo8syo/XnzEtHM7pksHs9fTx2p81JxajjDMX5gCB4F4AAH0q6dDG1jUSpOj0y0c+gjaG4vsNgEHVxQBH5R5njsEe7lHUQWrnwTyKtFaX7It34I3u+xxsTQi2zzhK2GuvbM36kzmDR4ynFPG8561d38UiR0jhqDQQb2eu/77HEaQVyU/sb/7x+TM4bc0AGP5su0c=;5:iMBJa/G1L9GfN7pJI3C43WW++pAJh96Z6Qjs5Ay+J9nhjQyG9bucKkzahxHo0YCWi0LoyGHF83d+YNzifRo79TmDY0p7CBjznwYzyI0yl3/2IMyoOnSYU5EaUstWYHdQUwI2YhqyWR8vYVlN6dGUgxOY96Ns9poF67HC0O2wI9g=;24:VB5uTeTyw1VR+QOz9SuSfO9h2as9n5GYr4JnigrB+HJpjm6YM9QRyUzwSucVQnf4gwMjRHiexKxTnNsPvM/o3TYzofyB1gSvV1wiGodLqLA=;7:O+dJieTXZ0IoyGjbRQ4jdIsg/2XLcipNuq5KaTfT0O6OCQ/vDFhCtwvJENqDOxtkU0rQyS81N9L2OTsWfG6MQaar5uZYBtTmgScBm/xelJkczgTvpeCBBP1boh2TGl3sA9t1FXGq9vFLqY555/2APQ22/YA2bGlYhrdVm418za1MLbmUyi+52/F4cYrJUSFaBGp281OjN64e+eJqt8WFSzmWcSfdfP21Q2es74Dco3/QZrnGhaIFv8vRg56hO7Lv SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2016 09:48:49.1945 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2476 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add binding doc for generic power sequence library. Signed-off-by: Peter Chen Acked-by: Philipp Zabel --- .../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt diff --git a/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt new file mode 100644 index 0000000..48bb3e1 --- /dev/null +++ b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt @@ -0,0 +1,48 @@ +The generic power sequence library + +Some hard-wired devices (eg USB/MMC) need to do power sequence before +the device can be enumerated on the bus, the typical power sequence +like: enable USB PHY clock, toggle reset pin, etc. But current +Linux device driver lacks of such code to do it, it may cause some +hard-wired devices works abnormal or can't be recognized by +controller at all. The power sequence will be done before this device +can be found at the bus. + +The power sequence properties is under the device node. + +Optional properties: +- clocks: the input clock for device. +- reset-gpios: Should specify the GPIO for reset. +- reset-duration-us: the duration in microsecond for assert reset signal. + +Below is the example of USB power sequence properties on USB device +nodes which have two level USB hubs. + +&usbotg1 { + vbus-supply = <®_usb_otg1_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_otg1_id>; + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + genesys: hub@1 { + compatible = "usb5e3,608"; + reg = <1>; + + clocks = <&clks IMX6SX_CLK_CKO>; + reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* hub reset pin */ + reset-duration-us = <10>; + + #address-cells = <1>; + #size-cells = <0>; + asix: ethernet@1 { + compatible = "usbb95,1708"; + reg = <1>; + + clocks = <&clks IMX6SX_CLK_IPG>; + reset-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* ethernet_rst */ + reset-duration-us = <15>; + }; + }; +}; -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Chen Subject: [PATCH v3 1/6] binding-doc: power: pwrseq-generic: add binding doc for generic power sequence library Date: Wed, 20 Jul 2016 17:40:24 +0800 Message-ID: <1469007629-31757-2-git-send-email-peter.chen@nxp.com> References: <1469007629-31757-1-git-send-email-peter.chen@nxp.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1469007629-31757-1-git-send-email-peter.chen@nxp.com> Sender: linux-pm-owner@vger.kernel.org To: gregkh@linuxfoundation.org, stern@rowland.harvard.edu, ulf.hansson@linaro.org, broonie@kernel.org, sre@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, dbaryshkov@gmail.com, dwmw2@infradead.org Cc: k.kozlowski@samsung.com, linux-arm-kernel@lists.infradead.org, p.zabel@pengutronix.de, devicetree@vger.kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, linux-usb@vger.kernel.org, arnd@arndb.de, s.hauer@pengutronix.de, mail@maciej.szmigiero.name, troy.kisky@boundarydevices.com, festevam@gmail.com, oscar@naiandei.net, stephen.boyd@linaro.org, linux-pm@vger.kernel.org, stillcompiling@gmail.com, linux-kernel@vger.kernel.org, Peter Chen List-Id: devicetree@vger.kernel.org Add binding doc for generic power sequence library. Signed-off-by: Peter Chen Acked-by: Philipp Zabel --- .../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt diff --git a/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt new file mode 100644 index 0000000..48bb3e1 --- /dev/null +++ b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt @@ -0,0 +1,48 @@ +The generic power sequence library + +Some hard-wired devices (eg USB/MMC) need to do power sequence before +the device can be enumerated on the bus, the typical power sequence +like: enable USB PHY clock, toggle reset pin, etc. But current +Linux device driver lacks of such code to do it, it may cause some +hard-wired devices works abnormal or can't be recognized by +controller at all. The power sequence will be done before this device +can be found at the bus. + +The power sequence properties is under the device node. + +Optional properties: +- clocks: the input clock for device. +- reset-gpios: Should specify the GPIO for reset. +- reset-duration-us: the duration in microsecond for assert reset signal. + +Below is the example of USB power sequence properties on USB device +nodes which have two level USB hubs. + +&usbotg1 { + vbus-supply = <®_usb_otg1_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_otg1_id>; + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + genesys: hub@1 { + compatible = "usb5e3,608"; + reg = <1>; + + clocks = <&clks IMX6SX_CLK_CKO>; + reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* hub reset pin */ + reset-duration-us = <10>; + + #address-cells = <1>; + #size-cells = <0>; + asix: ethernet@1 { + compatible = "usbb95,1708"; + reg = <1>; + + clocks = <&clks IMX6SX_CLK_IPG>; + reset-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* ethernet_rst */ + reset-duration-us = <15>; + }; + }; +}; -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: peter.chen@nxp.com (Peter Chen) Date: Wed, 20 Jul 2016 17:40:24 +0800 Subject: [PATCH v3 1/6] binding-doc: power: pwrseq-generic: add binding doc for generic power sequence library In-Reply-To: <1469007629-31757-1-git-send-email-peter.chen@nxp.com> References: <1469007629-31757-1-git-send-email-peter.chen@nxp.com> Message-ID: <1469007629-31757-2-git-send-email-peter.chen@nxp.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Add binding doc for generic power sequence library. Signed-off-by: Peter Chen Acked-by: Philipp Zabel --- .../bindings/power/pwrseq/pwrseq-generic.txt | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt diff --git a/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt new file mode 100644 index 0000000..48bb3e1 --- /dev/null +++ b/Documentation/devicetree/bindings/power/pwrseq/pwrseq-generic.txt @@ -0,0 +1,48 @@ +The generic power sequence library + +Some hard-wired devices (eg USB/MMC) need to do power sequence before +the device can be enumerated on the bus, the typical power sequence +like: enable USB PHY clock, toggle reset pin, etc. But current +Linux device driver lacks of such code to do it, it may cause some +hard-wired devices works abnormal or can't be recognized by +controller at all. The power sequence will be done before this device +can be found at the bus. + +The power sequence properties is under the device node. + +Optional properties: +- clocks: the input clock for device. +- reset-gpios: Should specify the GPIO for reset. +- reset-duration-us: the duration in microsecond for assert reset signal. + +Below is the example of USB power sequence properties on USB device +nodes which have two level USB hubs. + +&usbotg1 { + vbus-supply = <®_usb_otg1_vbus>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_otg1_id>; + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + genesys: hub at 1 { + compatible = "usb5e3,608"; + reg = <1>; + + clocks = <&clks IMX6SX_CLK_CKO>; + reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* hub reset pin */ + reset-duration-us = <10>; + + #address-cells = <1>; + #size-cells = <0>; + asix: ethernet at 1 { + compatible = "usbb95,1708"; + reg = <1>; + + clocks = <&clks IMX6SX_CLK_IPG>; + reset-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* ethernet_rst */ + reset-duration-us = <15>; + }; + }; +}; -- 1.9.1