Age | Commit message (Collapse) | Author |
|
Current scheme is fragile and is likely to go off sync, especially on
batfull->adapter charging automatic MBC transition.
Query the status bit every time we need it instead.
We need to export another function to query for USB presence because
we can't read anything from PCF50633 (via I2C) inside irq context and
that is needed by usb gadgets.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
If chgmod == BATFULL, setting chgena has no effect. Datasheet says we
need to set resume instead but when autoresume is used resume doesn't
work. Clear and set chgena instead.
This enables a user to force charging by re-plugging USB even when the
charger entered Battery Full mode, might be handy before a long trip.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
After reaching Battery Full condition MBC state machine switches back
into charging mode when the battery voltage falls below 96% of a
battery float voltage. The voltage drop in Li-Ion batteries is
marginal (1-2%) till about 80% of its capacity - which means, after a
BATFULL, charging won't be restarted until 75-80%.
That is a desired behaviour recommended by battery manufacturers,
don't mess with it.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Current implementation is prone to races, this patch attempts to remove all
but one (in pcf50633_adc_sync_read).
The idea is that we need to guard the queue access only on inserting and
removing items. If we insert and there're no more items in the queue it
means that the last irq already happened and we need to trigger ADC
manually. If not, then the next conversion will be triggered by the irq
handler upon completion of the previous.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Using the default kernel "events" workqueue causes problems with
synchronous adc readings if initiated from some task on the same
workqueue.
I had a deadlock trying to use pcf50633_adc_sync_read from a
power_supply class driver because the reading was initiated from the
workqueue and it waited for the irq processing to complete (to get the
result) and that was put on the same workqueue.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
auto-restart
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Some userspace (notably Enlightment's batget) ignores "capacity"
completely if there're no other properties. Expose a fake value
(850mAh, typical for BL-5C) to make them happy.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Check if machine-specific hooks exist before calling, this allows to use
this driver with gta02 or any other device that is able to provide battery
voltage readings.
Report an estimate of capacity percentage left, based on discharge curves.
Strictly speaking, this is a violation of power_supply class specs but
since this is the only driver for dumb batteries and userspace lacks any
library to do the estimation itself, we have to stuff it here.
Please keep in mind that this estimation is by no means accurate, usually
cell phones have only 5 bars to represent charge status.
Credit goes to Joerg Reisenweber and SpeedEvil for helping with gathering
and analysing the data.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Driver data must be properly registered after allocation
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
gta02_pmu_force_shutdown is only defined when CONFIG_CHARGER_PCF50633
is set, but it's used unconditionally.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
|
|
If the battery is not present hdq_read will always return an error.
If the drivers knows that the battery is not present the correct thing to do is
to return -ENODEV instead of passing the error on.
Do this for all properties except POWER_SUPPLY_PROP_PRESENT.
The power supply sysfs expects us to do so, else it won't generate a proper
uevent file.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
|
|
This just alters some formatting and removes old code.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signedy-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Conflicts:
drivers/mfd/glamo/glamo-cmdq.c
drivers/mfd/glamo/glamo-cmdq.h
drivers/mfd/glamo/glamo-drm-drv.c
drivers/mfd/glamo/glamo-drm-private.h
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
.. or re-bodge them, depending on your perspective. This makes mode->clock
contain a value in Hz, in line with the KMS convention. This is at the expense
of more calculations when generating the mode from the mach_info and when
setting the mode.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Just a little bit more debug information
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This increases the amount of memory exposed via the framebuffer.
This should eventually allow an fbdev-based DDX or a KMS DDX to
run on the same kernel, albeit suboptimally.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This removes a bogus check of var->pixclock. With KMS, this value
is not relevant.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This seems to fix the kernel-level suspend/resume. There remains a problem
which causes Xorg to crash on resume.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
According to power_supply class specification all voltages and currents
must be reported in uV and uA correspondingly.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
Register cache space was not being allocated for the final register,
causing bugs when it was used. Allocate space for it.
Also ensure that the final register is displayed in sysfs.
[Commit message rewritten to document actual issue. -- broonie]
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
The wrong register cache variable was being used to provide the size for
the memcpy(), resulting in a copy of only a void * of data.
Reported-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Doesn't work yet...
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Fix a whitespace error introduced by the earlier debug stuff.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Alter the "DRM defconfig" to match the packaging config with minimal
tweaks for DRM.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Fix trailing whitespace
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This uses the "stopgap" method implemented earlier.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
...because the clock(s) must be running while we talk to the chip.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Finished with these now.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This fixes the scanout timing conversion so that it works.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This adds a stopgap measure to permit manipulation of the LCD controller
chip in the absence of an fb notifier chain. It also adds some messing
around with the DPMS stuff.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This adds some register debugging watchpoints
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Well, duh.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This was uninitialised before.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This also alters some debug lines.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
This adds some missing bits and pieces to make most of the KMS
initialisation flow work.`
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
pdev -> platform_dev
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
These codepages are still widely used by inferior operating systems to
represent cyrillic letters in filenames, both in fat filesystem and by some
samba-servers.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
F4t discovered that his freerunner panics on connect to his windows box.
This crude hack workarounds the problem.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
|
|
That wasn't the right way to go about this. And it didn't compile.
This reverts commit d8e4b9ff4dc8bf57e53fa174f977c8fb00ec4e90.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|
|
Nearly there...
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
|