Commit Graph

996210 Commits

Author SHA1 Message Date
Sebastian Reichel 95b00152cb dt-bindings: power: supply: rt9455: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:24 +01:00
Sebastian Reichel d913a03bc1 dt-bindings: power: supply: ltc294x: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel 97f03280e0 dt-bindings: power: supply: lt3651: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel c44242f0d0 dt-bindings: power: supply: lp8727: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel 59604ba756 dt-bindings: power: supply: da9150: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel a3388d750c dt-bindings: power: supply: axp20x: Convert to DT schema format
Convert the binding to DT schema format.

Cc: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel ee123ad978 dt-bindings: power: supply: act8945a: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel 6c463222a2 dt-bindings: power: supply: pm8941-coincell: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel 1a4d86b4c9 dt-bindings: power: supply: pm8941-charger: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel f444be1245 dt-bindings: power: supply: ucs1002: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel 402a3cb34e dt-bindings: power: supply: max8903: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel eb3b616ee1 dt-bindings: power: supply: max17042: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel aad19ec18e dt-bindings: power: supply: max14656: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel ab1a76df6d dt-bindings: power: supply: max17040: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:55:23 +01:00
Sebastian Reichel 3004e581d9 dt-bindings: power: supply: lego-ev3-battery: Convert to DT schema format
Convert the binding to DT schema format.

Cc: David Lechner <david@lechnology.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: David Lechner <david@lechnology.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:59 +01:00
Sebastian Reichel df89b2850a dt-bindings: power: supply: n900-battery: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Rejected-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:54 +01:00
Sebastian Reichel bb56712aba dt-bindings: power: supply: twl4030: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:54 +01:00
Sebastian Reichel 0e2d1823a6 dt-bindings: power: supply: tps65217: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:54 +01:00
Sebastian Reichel 4ac8f03056 dt-bindings: power: supply: tps65090: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:54 +01:00
Sebastian Reichel dc721203c5 dt-bindings: power: supply: sc2731-charger: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:54 +01:00
Sebastian Reichel 89919370c5 dt-bindings: power: supply: sc27xx-fg: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 2f06fcbdac dt-bindings: power: supply: ds2760: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel f5bf381a10 dt-bindings: power: supply: sbs-manager: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 90f6c44d7e dt-bindings: power: supply: sbs-charger: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 437e6b6c8f dt-bindings: power: supply: isp1704: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 464a748871 dt-bindings: power: supply: bq24735: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 9c05cfaf3f dt-bindings: power: supply: bq2415x: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel e7c2431759 dt-bindings: power: supply: bq24190: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 102d4a0b69 dt-bindings: power: supply: bq24257: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel 648d383253 dt-bindings: power: supply: bq25890: Convert to DT schema format
Convert the binding to DT schema format.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:53 +01:00
Sebastian Reichel ce49e42822 dt-bindings: power: supply: cpcap-charger: Convert to DT schema format
Convert the binding to DT schema format. I also added the missing bits
used by the only in-tree user and implemented in the driver.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:50 +01:00
Sebastian Reichel 3c5be04549 dt-bindings: power: supply: cpcap-battery: Convert to DT schema format
Convert the binding to DT schema format. I also added the missing bits
used by the only in-tree user and implemented in the driver.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-03-23 12:54:44 +01:00
Xiaofeng Cao bd3689a64e power: supply: max1721x: Correct spelling
Change  'stanalone'      to  'standalone'
Change  'mesaurement'    to  'measurement'
Change  'nonvilatile'    to  'nonvolatile'
Change  'unical'         to  'unique'
Change  'unaccesable'    to  'unaccessible'
Change  'correcpondent'  to  'correspond'

Signed-off-by: Xiaofeng Cao <caoxiaofeng@yulong.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-22 15:11:22 +01:00
dongjian c77b26e327 power: supply: ds2781: use kobj_to_dev()
Use kobj_to_dev() instead of open-coding it

Signed-off-by: dongjian <dongjian@yulong.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-22 15:05:41 +01:00
Bhaskar Chowdhury 31ba6fadc3 power: supply: charger-manager: Fix a typo
s/systme/system/

Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-22 14:59:48 +01:00
dongjian 091d0a3a48 power: reset: remove unneeded semicolon
Fixes coccicheck warning:
drivers/power/reset/vexpress-poweroff.c:136:2-3: Unneeded semicolon

Signed-off-by: dongjian <dongjian@yulong.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-22 14:55:50 +01:00
dongjian 2469b836fa power: supply: Use IRQF_ONESHOT
Fixes coccicheck error:

drivers/power/supply/pm2301_charger.c:1089:7-27: ERROR:
drivers/power/supply/lp8788-charger.c:502:8-28: ERROR:
drivers/power/supply/tps65217_charger.c:239:8-33: ERROR:
drivers/power/supply/tps65090-charger.c:303:8-33: ERROR:

Threaded IRQ with no primary handler requested without IRQF_ONESHOT

Signed-off-by: dongjian <dongjian@yulong.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-22 14:54:24 +01:00
LI Qingwu 4eed7f5a83 power: supply: bq27xxx: Add support for BQ78Z100
Add support for TI BQ78Z100, I2C interface gas gauge.
It provides a fully integrated safety protection
and authentication for 1 to 2-series cell Li-Ion and
Li-Polymer battery packs.

The patch was tested with BQ78Z100 equipment.

CASE I:  Discharging:
	POWER_SUPPLY_NAME=bq78z100-0
	POWER_SUPPLY_STATUS=Discharging
	POWER_SUPPLY_PRESENT=1
	POWER_SUPPLY_VOLTAGE_NOW=3386000
	POWER_SUPPLY_CURRENT_NOW=-5000
	POWER_SUPPLY_CAPACITY=27
	POWER_SUPPLY_CAPACITY_LEVEL=Normal
	POWER_SUPPLY_TEMP=269
	POWER_SUPPLY_TIME_TO_EMPTY_NOW=1249920
	POWER_SUPPLY_TECHNOLOGY=Li-ion
	POWER_SUPPLY_CHARGE_FULL=6494000
	POWER_SUPPLY_CHARGE_NOW=1736000
	POWER_SUPPLY_CHARGE_FULL_DESIGN=6000000
	POWER_SUPPLY_CYCLE_COUNT=1
	POWER_SUPPLY_POWER_AVG=-20000
	POWER_SUPPLY_HEALTH=Good
	POWER_SUPPLY_MANUFACTURER=Texas Instruments

CASE II : No discharging current:
	POWER_SUPPLY_NAME=bq78z100-0
	POWER_SUPPLY_STATUS=Not charging
	POWER_SUPPLY_PRESENT=1
	POWER_SUPPLY_VOLTAGE_NOW=3386000
	POWER_SUPPLY_CURRENT_NOW=0
	POWER_SUPPLY_CAPACITY=27
	POWER_SUPPLY_CAPACITY_LEVEL=Normal
	POWER_SUPPLY_TEMP=270
	POWER_SUPPLY_TECHNOLOGY=Li-ion
	POWER_SUPPLY_CHARGE_FULL=6494000
	POWER_SUPPLY_CHARGE_NOW=1734000
	POWER_SUPPLY_CHARGE_FULL_DESIGN=6000000
	POWER_SUPPLY_CYCLE_COUNT=1
	POWER_SUPPLY_POWER_AVG=0
	POWER_SUPPLY_HEALTH=Good
	POWER_SUPPLY_MANUFACTURER=Texas Instruments

Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-21 21:29:26 +01:00
LI Qingwu 83ee068199 dt-bindings: power: bq27xxx: add bq78z100
Add bindings for TI BQ78Z100. An I2C interface gas gauge.
It provides a fully integrated safety protection
and authentication for 1 to 2-series cell Li-Ion and
Li-Polymer battery packs.

Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-21 21:28:37 +01:00
Matthias Schiffer c3a6d6a1df power: supply: bq27xxx: make status more robust
There are multiple issues in bq27xxx_battery_status():

- On BQ28Q610 is was observed that the "full" flag may be set even while
  the battery is charging or discharging. With the current logic to make
  "full" override everything else, it look a very long time (>20min) for
  the status to change from "full" to "discharging" after unplugging the
  supply on a device with low power consumption
- The POWER_SUPPLY_STATUS_NOT_CHARGING check depends on
  power_supply_am_i_supplied(), which will not work when the supply
  doesn't exist as a separate device known to Linux

We can solve both issues by deriving the status from the current instead
of the flags field. The flags are now only used to distinguish "full"
from "not charging", and to determine the sign of the current on
BQ27XXX_O_ZERO devices.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-15 02:26:03 +01:00
Matthias Schiffer c4d57c22ac power: supply: bq27xxx: fix power_avg for newer ICs
On all newer bq27xxx ICs, the AveragePower register contains a signed
value; in addition to handling the raw value as unsigned, the driver
code also didn't convert it to µW as expected.

At least for the BQ28Z610, the reference manual incorrectly states that
the value is in units of 1mW and not 10mW. I have no way of knowing
whether the manuals of other supported ICs contain the same error, or if
there are models that actually use 1mW. At least, the new code shouldn't
be *less* correct than the old version for any device.

power_avg is removed from the cache structure, se we don't have to
extend it to store both a signed value and an error code. Always getting
an up-to-date value may be desirable anyways, as it avoids inconsistent
current and power readings when switching between charging and
discharging.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-15 02:26:03 +01:00
Matthias Schiffer b67fdcb709 power: supply: bq27xxx: fix sign of current_now for newer ICs
Commit cd060b4d08 ("power: supply: bq27xxx: fix polarity of current_now")
changed the sign of current_now for all bq27xxx variants, but on BQ28Z610
I'm now seeing negated values *with* that patch.

The GTA04/Openmoko device that was used for testing uses a BQ27000 or
BQ27010 IC, so I assume only the BQ27XXX_O_ZERO code path was incorrect.
Revert the behaviour for newer ICs.

Fixes: cd060b4d08 "power: supply: bq27xxx: fix polarity of current_now"
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-15 02:26:03 +01:00
Dinghao Liu 17e499a7d6 power: supply: axp20x_usb_power: Add missing check in axp20x_usb_power_probe
There are two regmap_update_bits() calls but only one of them has
return value check, which is odd. Add a return value check and
terminate the execution flow on failure just like the other call.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-15 01:07:54 +01:00
Linus Walleij 3282634105 power: supply: z2_battery: Drop unused variable
The kernel test robot reports an unused variable in the
Z2 battery code caused by a recent commit.

Fixes: a3b4388ea1 ("power: supply: z2_battery: Convert to GPIO descriptors")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-15 00:08:07 +01:00
Ray Chi f38a164483 power: supply: core: provide function stubs if CONFIG_POWER_SUPPLY=n
Fix build error when CONFIG_POWER_SUPPLY is not enabled.

The build error occurs in mips (cavium_octeon_defconfig).

mips-linux-gnu-ld: drivers/usb/dwc3/core.o: in function `dwc3_remove':
drivers/usb/dwc3/core.c:1657: undefined reference to `power_supply_put'
mips-linux-gnu-ld: drivers/usb/dwc3/core.o: in function `dwc3_get_properties':
drivers/usb/dwc3/core.c:1270: undefined reference to `power_supply_get_by_name'
mips-linux-gnu-ld: drivers/usb/dwc3/core.o: in function `dwc3_probe':
drivers/usb/dwc3/core.c:1632: undefined reference to `power_supply_put'

Fixes: 59fa3def35de ("usb: dwc3: add a power supply for current control")
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Ray Chi <raychi@google.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-09 14:50:51 +01:00
Dmitry Osipenko 2552e38dc8 power: supply: smb347-charger: Clean up whitespaces in the code
Improve formatting of the code by removing unnecessary whitespaces.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-06 18:39:06 +01:00
Dmitry Osipenko d33b3f7e34 power: supply: smb347-charger: Improve interrupt initialization
A previous commit attempted to fix IRQ usage in a case where interrupt
is failed to initialize, but it missed couple more cases that could be
improved. The interrupt could be undefined and then everything related
to interrupt shouldn't be touched by driver. Secondly, we shouldn't ignore
errors that aren't directly related to enabling interrupt in hardware,
like enabling h/w write-access or requesting interrupt. Improve interrupt
initialization in the driver in order to handle the missing cases.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-06 18:39:05 +01:00
Krzysztof Kozlowski c8bbab8f2d power: supply: s3c_adc_battery: remove unused pdata in suspend/resume
The "pdata" local variable is not used in suspend/resume handlers since
commit 7776bcd241 ("power: supply: s3c-adc-battery: Convert to GPIO
descriptors"):

    drivers/power/supply/s3c_adc_battery.c: In function ‘s3c_adc_bat_suspend’:
    drivers/power/supply/s3c_adc_battery.c:405:28: warning: unused variable ‘pdata’ [-Wunused-variable]

    drivers/power/supply/s3c_adc_battery.c: In function ‘s3c_adc_bat_resume’:
    drivers/power/supply/s3c_adc_battery.c:422:28: warning: unused variable ‘pdata’ [-Wunused-variable]

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-06 18:39:05 +01:00
Krzysztof Kozlowski d6ce6e8108 power: supply: s3c_adc_battery: add SPDX license identifier
Add SPDX license identifier and replace license boilerplate.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-06 18:39:05 +01:00
Krzysztof Kozlowski f05d29333b MAINTAINERS: power: supply: add entry for S3C ADC battery driver
The S3C ADC battery driver is a very old piece of code but still used by
(very old as well) S3C24xx platforms (iPAQ h1930/h1940/rx1950).
Currently the header file is not covered by maintainers file, so it
might look abandoned.  Add a new entry for entire S3C ADC battery driver
with Krzysztof Kozlowski as maintainer (as Krzysztof maintains still
Samsung S3C24xx platform) to indicate that some basic review can take
place.

However considering that the S3C24xx platform is quite old with only few
users currently and Krzysztof does not have the actual hardware, let's
mark the driver as "Odd fixes".

Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-03-06 18:39:05 +01:00