summaryrefslogtreecommitdiff
path: root/drivers/staging/olpc_dcon/olpc_dcon.c
AgeCommit message (Collapse)Author
2014-04-07Rewind v3.13-rc3+ (78fd82238d0e5716) to v3.12Scott Wood
2013-09-25staging: olpc_dcon: remove unnecessary work pending testXie XiuQi
Remove unnecessary work pending test before calling schedule_work(). It has been tested in queue_work_on() already. No functional changed. Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com> Cc: Jens Frederich <jfrederich@gmail.com> Cc: Daniel Drake <dsd@laptop.org> Cc: Jon Nettleton <jon.nettleton@gmail.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Tejun Heo <tj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-16Staging: olpc_dcon: more big endian conformityJens Frederich
Using an int which is casted to unsigned char as inbuf is messy. The code won't work on big endian systems. The patch should fix this. Signed-off-by: Jens Frederich <jfrederich@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-16Staging: olpc_dcon: replace some magic numbersJens Frederich
This patch replace some magic numbers. I believe it makes the driver more readable. The magic number 0x26 is the XO system embedded controller (EC) command 'DCON power enable/disable'. Number 0x41, and 0x42 are special memory controller settings register. The 0x41 initialize bit sequence 0x101 means: enable memory power down function and special SDRAM clock delay for synchronize SDRAM output and clock signal. The 0x42 initialize squence 0x101 is wrong. According to the specification Bit 8 is reserved, thus not in use. I removed it. Signed-off-by: Jens Frederich <jfrederich@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-25Staging: olpc_dcon: change to msleep to usleep_rangeJens Frederich
The resolution of msleep is related to HZ, so with HZ set to 100 any msleep of less then 10ms will become ~10ms. This is not what we want. Use usleep_range to get more control of what is happening here. Signed-off-by: Jens Frederich <jfrederich@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-25staging: olpc_dcon: return NOTIFY_DONE instead of the 0.Devendra Naga
return a valid macro instead of 0 (as #define NOTIFY_DONE 0) in the reboot callback Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-21staging: olpc_dcon: remove use of __devexit_pBill Pemberton
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-22staging/olpc_dcon: use s/r hooks from device_driver->pmAndres Salomon
..instead of the i2c_driver hooks. This should silence the following runtime warnings: [ 17.820321] i2c-core: driver [olpc_dcon] using legacy suspend method [ 17.846082] i2c-core: driver [olpc_dcon] using legacy resume method Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-22staging/olpc_dcon: drop fb_notifier codeAndres Salomon
Previously we registered a notifier block to inform us of any framebuffer device changes; if the screen was blanked or unblanked, we'd put the DCON to sleep or wake it up. Turns out that the backlight code registers a notifier block as well and calls the update_status hook, so we can just use that to put the DCON to sleep. For those status updates where the blanking isn't changed, dcon_sleep will do nothing. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-22staging/olpc_dcon: move wait queue into dcon_priv structAndres Salomon
Another global variable (dcon_wait_queue) moved into the dcon_priv struct. In the process, replace an instance of a manually implemented wait_event_timeout. This code came from Jordan's original gxfb_dcon.c driver waaaay back in 2006; well past time for a replacement. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-22staging/olpc_dcon: drop useaa module argAndres Salomon
The 'useaa' module parameter was a workaround for a buggy DCON prototype not supporting the optional anti-aliasing mode properly. There's no reason to disable it any more, so drop the option. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-17staging/olpc_dcon: fix checkpatch warningsToshiaki Yamane
The below checkpatch warnings was fixed, - WARNING: Prefer pr_debug(... to printk(KERN_DEBUG, ... - WARNING: Prefer pr_warn(... to printk(KERN_WARNING, ... - WARNING: Prefer pr_info(... to printk(KERN_INFO, ... - WARNING: Prefer pr_err(... to printk(KERN_ERR, ... And added pr_fmt. Signed-off-by: Toshiaki Yamane <yamanetoshi@gmail.com> Acked-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-01drivers: OLPC: update various drivers to include olpc-ec.hAndres Salomon
Switch over to using olpc-ec.h in multiple steps, so as not to break builds. This covers every driver that calls olpc_ec_cmd(). Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: Paul Fox <pgf@laptop.org> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
2012-04-24staging: olpc_dcon.c: Remove a few spaces between casts and variablesJesper Juhl
Just a trivial style cleanup. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Acked-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-24staging: olpc_dcon.c: Add missing level to a printk()Jesper Juhl
Signed-off-by: Jesper Juhl <jj@chaosbits.net> Acked-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-24staging: olpc_dcon.c: strings printed with printk() put on a single lineJesper Juhl
Quoted strings that were broken over multiple lines are put on a single line for easier grep'ability. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Acked-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2011-12-08Staging: olpc_dcon.c: obsolete use of strict_stroulValentin Rothberg
As Dan mentioned, dcon_write() will only write u16 values. The appropriate parts have been changed. As a result of module_param() not accepting u16 as a valid data type, ushort is used. Signed-off-by: Valentin Rothberg <valentinrothberg@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08Staging: olpc_dcon.c: obsolete use of strict_strtoulValentin Rothberg
As noted by the checkpatch script, strict_strtoul is obsolete. Unsigned longs are used, so it seems good to take kstrtoul. Signed-off-by: Valentin Rothberg <valentinrothberg@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08staging: olpc_dcon: ->read_status() API changeXi Wang
Change ->read_status() by separating the error handling and the status bits. This also fixes a signedness bug in dcon_interrupt() that would break the error handling. Signed-off-by: Xi Wang <xi.wang@gmail.com> Acked-by: Andres Salomon <dilinger@queued.net> Cc: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-26staging: Add module.h to drivers/staging usersPaul Gortmaker
Lots of people expect module.h to just "be there" without any #include effort. But we are crushing that. So fix those files in staging relying on implicit module.h presence. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-25staging/olpc_dcon: Remove obsolete cleanup for clientdataWolfram Sang
A few new i2c-drivers came into the kernel which clear the clientdata-pointer on exit or error. This is obsolete meanwhile, the core will do it. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Andres Salomon <dilinger@queued.net> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Marek Belisko <marek.belisko@open-nandra.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-23staging: olpc_dcon: replace remaining calls to i2c_smbus_read/writeAndres Salomon
Use dcon_read and dcon_write; shorter, and understands the dcon_priv struct. This transition was started long ago. This converts the last few i2c_smbus_* callers. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-23staging: olpc_dcon: drop support for DCON v1Andres Salomon
The v1 DCONs only existed for XO-1 prototypes (and even then, very very early prototypes). Drop support for v1 DCON. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-08-23staging: olpc_dcon: remove noinit module variableAndres Salomon
This came from Jordan's original 2007 gxfb_dcon commit. I've never seen or heard of it actually being used. Presumably it was once useful for skipping hardware initialization when reloading the module over and over during driver development.. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-03-23backlight: add backlight typeMatthew Garrett
There may be multiple ways of controlling the backlight on a given machine. Allow drivers to expose the type of interface they are providing, making it possible for userspace to make appropriate policy decisions. Signed-off-by: Matthew Garrett <mjg@redhat.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: David Airlie <airlied@linux.ie> Cc: Alex Deucher <alexdeucher@gmail.com> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Len Brown <lenb@kernel.org> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-02-18staging: olpc_dcon: clean up backlight handlingAndres Salomon
- Move bl_val and bl_dev into dcon_priv struct.... - The only time we ever read the backlight val from the dcon is at probe time. Rather than calling dcon_get_backlight for that, just read from the register. - Drop dcon_get_backlight; it's just returning dcon->bl_val. - Rename dcon_set_backlight_hw to dcon_set_backlight, and drop the old dcon_set_backlight function. Move contents of old dcon_set_backlight function into dconbl_set. - Shuffle backlight_ops callbacks around to be closer to struct, and rename them. - Make use of new backlight_properties arg to backlight_device_register, drop old code that set this manually. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: move more global variables into dcon_privAndres Salomon
Global variables dcon_switched, dcon_irq_time, and dcon_load_time can all be moved into the dcon_priv struct now that dcon_interrupt has access to dcon_priv. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: move more variables into dcon_privAndres Salomon
This moves dcon_source and dcon_pending into the dcon_priv struct. Because these variables are used by the IRQ handler (which is registered in the model-specific callbacks), we end up needing to move dcon_priv into olpc_dcon.h. This also changes the IRQ registration to use the dcon_priv pointer as dev_id, instead of dcon_driver. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: add config options for XO_1 and XO_1_5, drop hardcoded ↵Andres Salomon
XO-1 stuff This adds CONFIG_FB_OLPC_DCON_1 and CONFIG_FB_OLPC_DCON_1_5 options for allowing selection of XO-1 and/or XO-1.5 DCON support. In the process, it also forces the xo_1.c and xo_1_5.c files to build as separate units, correctly selects between XO-1 and XO-1.5 at runtime, and adds some hacks to allow xo_1_5.c to build. This isn't the cleanest patch, but it'll get better as more global variables are dropped. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: Remove _strtoul() function.Marek Belisko
olpc_dcon driver use self invented _strtoul function which make similar check like strict_strtoul just extend for space checking at last string place. Normally access to sys file looks echo 1024 > /sys/... so space could be considered as error character and we could simplify code using just strict_strtoul function instead self invented. Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com> Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: move fb stuff info dcon_priv, and clean up fb handlingAndres Salomon
- move fbinfo and ignore_fb_events into dcon_priv - add calls to {un,}lock_fb_info before calling fb_blank - fail to load the driver if there are no registered framebuffers That last one fixes a potential oops, where if the dcon driver loads without a framebuffer registered, fb_blank will end up being passed a NULL (and will attempt to dereference it). Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: move fb event notifier block into dcon_priv structAndres Salomon
This also fixes a think-o where I was pulling the dcon struct out of thin air in the fb event callback. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-18staging: olpc_dcon: don't specify single bits for bool fieldsAndres Salomon
Just use a regular 'bool foo', rather than 'bool foo:1'. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09staging: olpc_dcon: actually return the value of i2c_add_driverAndres Salomon
It's nice to actually check for errors. :) Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09staging: olpc_dcon: move more variables into dcon_privAndres Salomon
Global variables for display mode and the current sleep state can go into dcon_priv as well. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09staging: olpc_dcon: change sysfs 'output' toggle to be clearer...Andres Salomon
..and store it in dcon_priv. This renames it to 'monochrome', which I think is much clearer. Previously, "echo 1 > output" toggled mono mode, while "echo 0 > output" enabled color. "Echo 1 > monochrome" makes more sense to me. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09staging: olpc_dcon: get rid of global i2c_client, create a dcon_priv structAndres Salomon
Rather than using the global i2c_client variable, create a dcon_priv struct, store in the drvdata portion of the dev, and pass that around. In order to access dcon struct from various callbacks, include the reboot notifier and source switching work struct in the dcon struct. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-09staging: olpc_dcon: revert strtoul changeAndres Salomon
On Fri, 4 Feb 2011 15:44:43 -0800 From: Andres Salomon <dilinger@queued.net> The s/simple_strtoul/strict_strtoul/ from commit e107e6eb added a build warning, as well as an oops. This reverts that change. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04staging: olpc_dcon: checkpatch.pl fixes for olpc_dcon.c file.Marek Belisko
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-02-04staging: oplc_dcon: Fix compilation warning.Marek Belisko
Fix compilation warning: drivers/staging/olpc_dcon/olpc_dcon.c: In function ‘dcon_probe’: drivers/staging/olpc_dcon/olpc_dcon.c:704:21: warning: ignoring return value of ‘device_create_file’, declared with attribute warn_unused_result and add cleaning of created files when creation of one failed. Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-26console: rename acquire/release_console_sem() to console_lock/unlock()Torben Hohn
The -rt patches change the console_semaphore to console_mutex. As a result, a quite large chunk of the patches changes all acquire/release_console_sem() to acquire/release_console_mutex() This commit makes things use more neutral function names which dont make implications about the underlying lock. The only real change is the return value of console_trylock which is inverted from try_acquire_console_sem() This patch also paves the way to switching console_sem from a semaphore to a mutex. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert] Signed-off-by: Torben Hohn <torbenh@gmx.de> Cc: Thomas Gleixner <tglx@tglx.de> Cc: Greg KH <gregkh@suse.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-01-13Merge branch 'for-next' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits) Documentation/trace/events.txt: Remove obsolete sched_signal_send. writeback: fix global_dirty_limits comment runtime -> real-time ppc: fix comment typo singal -> signal drivers: fix comment typo diable -> disable. m68k: fix comment typo diable -> disable. wireless: comment typo fix diable -> disable. media: comment typo fix diable -> disable. remove doc for obsolete dynamic-printk kernel-parameter remove extraneous 'is' from Documentation/iostats.txt Fix spelling milisec -> ms in snd_ps3 module parameter description Fix spelling mistakes in comments Revert conflicting V4L changes i7core_edac: fix typos in comments mm/rmap.c: fix comment sound, ca0106: Fix assignment to 'channel'. hrtimer: fix a typo in comment init/Kconfig: fix typo anon_inodes: fix wrong function name in comment fix comment typos concerning "consistent" poll: fix a typo in comment ... Fix up trivial conflicts in: - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c) - fs/ext4/ext4.h Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.
2011-01-13drivers/staging/olpc_dcon: convert to new cs5535 gpio APIAndres Salomon
Drop the old geode_gpio crud, as well as the raw outl() calls; instead, use the Linux GPIO API where possible, and the cs5535_gpio API in other places. Note that we don't actually clean up the driver properly yet (once loaded, it always remains loaded). That'll come later.. This patch is necessary for building the driver. Signed-off-by: Andres Salomon <dilinger@queued.net> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-22Merge branch 'master' into for-nextJiri Kosina
Conflicts: MAINTAINERS arch/arm/mach-omap2/pm24xx.c drivers/scsi/bfa/bfa_fcpim.c Needed to update to apply fixes for which the old branch was too outdated.
2010-11-16backlight: constify backlight_opsLionel Debroux
backlight_device_register has been expecting a const "ops" argument, and using it as such, since 9905a43b2d563e6f89e4c63c4278ada03f2ebb14. Let's make the remaining backlight_ops instances const. Inspired by hunks of the grsecurity patch, updated for newer kernels. Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-11-15i2c: Drivers shouldn't include <linux/i2c-id.h>Jean Delvare
Drivers don't need to include <linux/i2c-id.h>, especially not when they don't use anything that header file provides. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Michael Hunold <michael@mihu.de> Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-11-15i2c: Remove obsolete cleanup for clientdataWolfram Sang
A few new i2c-drivers came into the kernel which clear the clientdata-pointer on exit. This is obsolete meanwhile, so fix it and hope the word will spread. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Alan Cox <alan@linux.intel.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Jean Delvare <khali@linux-fr.org>
2010-09-30staging: olpc_dcon: drop old VT switch code, watch for CONBLANK eventAndres Salomon
Eons ago, in a galaxy far far away, Jordan committed code to work around the fact that X might have put the DCON to sleep and then crashed (in that galaxy, X crashed a lot; crazy, right?) This code was based on a custom API. These days, we have code which watches for FB unblanks, and should perform the same function.. Therefore, the older code can be dropped. We should probably be watching for CONBLANK events to, so allow those to turn the DCON back on. Dropping the old code is necessary for building the driver. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-30staging: olpc_dcon: remove outdated backlight commentAndres Salomon
This comment about killing power to the backlight is ancient, and incorrect (the code that follows actually does the opposite of what the comment says). This was due to hardware changes; the comment was for the original OLPC GX2 boards, but when the OLPC LX boards came out, the code was updated for that hardware. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-30staging: olpc_dcon: drop XO-1.5 support for nowAndres Salomon
The vx855 stuff isn't upstream yet; for now, drop support for XO-1.5. This will come back once the 1.5 code is in place (and will be in a form that allows both 1.0 and 1.5 support to be compiled in at the same time), but for now just remove it. This is necessary to get the driver building. Signed-off-by: Andres Salomon <dilinger@queued.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>