Quiet the sparse noise:
warning: symbol 'create_fs_client' was not declared. Should it be static?
warning: symbol 'destroy_fs_client' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Sage Weil <[email protected]>
[email protected]
Signed-off-by: Sage Weil <[email protected]>
Quiet the following sparse noise:
warning: symbol 'get_nonsnap_parent' was not declared. Should it be static?
warning: symbol 'done_closing_sessions' was not declared. Should it be static?
Local functions don't need external visability. Make them static.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Sage Weil <[email protected]>
Signed-off-by: Sage Weil <[email protected]>
__bitmap_parse() and __bitmap_parselist() both take a pointer to a kernel
buffer as a parameter and then cast it to a pointer to user buffer for use
in cases when the parameter is_user indicates that the buffer is actually
located in user space. This casting, and the casts in the callers,
results in sparse noise like the following:
warning: incorrect type in initializer (different address spaces)
expected char const [noderef] <asn:1>*ubuf
got char const *buf
warning: cast removes address space of expression
Since these casts are intentional, use __force to quiet the noise.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Huang Ying <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Andi Kleen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Quiet the sparse noise:
warning: symbol 'khugepaged_scan' was not declared. Should it be static?
warning: context imbalance in 'khugepaged_scan_mm_slot' - unexpected unlock
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Andrea Arcangeli <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Quiet the following sparse noise in this file:
warning: symbol 'memblock_overlaps_region' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers,com>
Cc: Yinghai Lu <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Tomi Valkeinen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
commit ae50c0b5 "pnfs: client stats" added additional information to
the output of /proc/self/mountstats. The new functions introduced are
only used in this file and should be marked static.
If CONFIG_NFS_V4_1 is not defined, empty stub functions are used. If
CONFIG_NFS_V4 is not defined these stub functions are not used at all.
Adding static for the functions results in compile warnings:
fs/nfs/super.c:743: warning: 'show_sessions' defined but not used
fs/nfs/super.c:756: warning: 'show_pnfs' defined but not used
Fix this by adding a #ifdef CONFIG_NFS_V4 guard around the two
show_ functions.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Trond Myklebust <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
The third parameter to ext4_free_blocks is a struct buffer_head *. This
parameter should be NULL not 0.
This quiets the sparse noise:
warning: Using plain integer as NULL pointer
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
The function declarations in ext4.h are already marked extern, so it's
not necessary to do so in the .c files.
This quiets the sparse noise:
warning: function 'ext4_flush_completed_IO' with external linkage has definition
warning: function 'ext4_init_inode_table' with external linkage has definition
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
Introduce the config option CONFIG_VT_CONSOLE_SLEEP in order to cleanup
the #if defined ugliness for the vt suspend support functions. Note that
CONFIG_VT_CONSOLE is already dependant on CONFIG_VT.
The function pm_set_vt_switch is actually dependant on CONFIG_VT and not
CONFIG_PM_SLEEP. This fixes a compile error when CONFIG_PM_SLEEP is
not set:
drivers/tty/vt/vt_ioctl.c:1794: error: redefinition of 'pm_set_vt_switch'
include/linux/suspend.h:17: error: previous definition of 'pm_set_vt_switch' was here
Also, remove the incorrect path from the comment in console.c.
[rjw: Replaced #if defined() with #ifdef in suspend.h.]
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
There are two sets of defines for the REG_CTRL2 bitfields and one
of them has TPS65023_REG_CTRL2_DCDC1 defined incorrectly. Remove
the duplicates and leave the correct one for TPS65023_REG_CTRL2_DCDC1.
This fixes the following sparse warnings:
drivers/regulator/tps65023-regulator.c:77:9: warning: preprocessor token TPS65023_REG_CTRL2_DCDC1 redefined
drivers/regulator/tps65023-regulator.c:70:9: this was the original definition
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
This quiets the following sparse noise:
warning: symbol 'exofs_sync_fs' was not declared. Should it be static?
warning: symbol 'exofs_free_sbi' was not declared. Should it be static?
warning: symbol 'exofs_get_parent' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Boaz Harrosh <[email protected]>
This quiets the sparse noise:
warning: symbol '_calc_trunk_info' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Boaz Harrosh <[email protected]>
The dw_{read,write}[lw] macros produce sparse warnings everytime they
are used. The "read" ones cause:
warning: cast removes address space of expression
warning: incorrect type in argument 1 (different address spaces)
expected void const volatile [noderef] <asn:2>*addr
got unsigned int *<noident>
And the "write" ones:
warning: cast removes address space of expression
warning: incorrect type in argument 2 (different address spaces)
expected void volatile [noderef] <asn:2>*addr
got unsigned int *<noident>
Fix this by removing struct dw_spi_reg and converting all the register
offsets to #defines. Then convert the macros into inlined functions so
that proper type checking can occur.
While here, also fix the three sparse warnings in spi-dw-mid.c due to
the return value of ioremap_nocache being stored in a u32 * not a
void __iomem *.
With these changes the spi-dw* files all build with no sparse warnings.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Feng Tang <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
Include <linux/cryptohash.h> to pickup the declarations for sha_transform
and sha_init to quite the sparse noise:
warning: symbol 'sha_transform' was not declared. Should it be static?
warning: symbol 'sha_init' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Mandeep Singh Baines <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
There is no reason to cache the irq_handler in struct dt3155_priv. Just pass
the function directly in request_irq.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Mauro Carvalho Chehab <[email protected]>
Cc: Hans Verkuil <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Most of the printk's in this driver are just noise. Proper error codes
are being returned so just remove the noise and clean up the whitespace
in the code due to the removal.
The two messages left in the probe are useful. Convert them to dev_info
messages.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Mauro Carvalho Chehab <[email protected]>
Cc: Hans Verkuil <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
devres_release_all and devres_release_group both aquire the lock
&dev->devres_lock but the release of that lock is done in release_nodes.
This results in sparse noise about context imbalance.
Add a lock annotation to release_nodes to quiet this noise.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The buffer 'sc.cpu_mask' is a kernel buffer. If bitmap_parse is used
instead of __bitmap_parse the extra parameter that indicates a kernel
buffer is not needed.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Lars Ellenberg <[email protected]>
Cc: Philipp Reisner <[email protected]>
Cc: Jens Axboe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
The symbol 'lcm' is exported to the kernel (EXPORT_SYMBOL_GPL).
Pick up it's definition in <linux/lcm.h> to quiet the sparse noise:
warning: symbol 'lcm' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Like svcauth_unix, the symbol svcauth_null is used external from this
file. Declare it as extern to quiet the following sparse noise:
warning: symbol 'svcauth_null' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Trond Myklebust <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "David S. Miller" <[email protected]>
Signed-off-by: J. Bruce Fields <[email protected]>
Include the private header sunrpc.h to pickup the declaration of the
function svc_send_common to quiet the following sparse noise:
warning: symbol 'svc_send_common' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Trond Myklebust <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: "David S. Miller" <[email protected]>
Signed-off-by: J. Bruce Fields <[email protected]>
The 'from' argument for copy_from_user and the 'to' argument for
copy_to_user should both be tagged as __user address space.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Andreas Dilger <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
The symbols part_ro_show, part_alignment_offset_show, and
part_discard_alignment_show are not used outside this file and
should be marked static.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Yasuaki Ishimatsu <[email protected]>
Cc: Alexey Dobriyan <[email protected]>
Acked-by: Tejun Heo <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
The patch to convert of the ep93xx gpio driver to a platform_driver is
missing the define for the memory resource that is passed to the driver.
This is needed to prevent a build error.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
This converts the gpio-ep93xx driver into a platform_driver and uses
the basic_mmio_gpio library.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
With this driver now being moved from arch/arm/mach-ep93xx/gpio.c to
drivers/gpio/gpio-ep93xx.c the prefix "ep93xx" is now redundant in the
pr_* output. Using KBUILD_MODNAME is sufficient.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
The Samsung GPIO drivers are always built-in when the relevant
platform is selected. Change the Kconfig symbol to def_bool y
dependant on the platform.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
The GPIO driver should reside in drivers/gpio.
v3: Change Kconfig option to def_bool y
v2: Make the Kconfig symbol a silent option, dependent on ARCH_EP93XX
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
The Samsung GPIO drivers are always built-in when the relevant
platform is selected. Change the Kconfig symbol to def_bool y
dependant on the platform.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
Remove the #define GEN_74X164_GPIO_COUNT since it's only used in
one place and it's meaning is obvious. Also remove the #define
GEN_74X164_DRIVER_NAME and use spi->modalias to set the gpio chip's
label and the string "74x164" for the driver name.
Reorder the code slightly to remove the need to prototype
gen_74x164_set_value.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
Since all the drivers are in a 'if GPIOLIB/endif block', the depends on GPIOLIB
is redundant so remove them.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
The function blktrans_dev_release and blktrans_dev_put are only used
locally in this file and should be static.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
The three backing_dev_info symbols are only used in this file and
should be static.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
Remove unneeded depends on PHYLIB. The config selection is already in
an if PHYLIB / endif block.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: "David S. Miller" <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
The ep9307, ep9312, and ep9315 variants of the ep93xx processor include
the raster engine needed for framebuffer support.
This allows the EDB93xx boards with those processors to use the
framebuffer driver.
Tested on an EDB9307A with the following kernel parameters:
video=640x480-16@60
video=1024x768-16@60
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
This driver does not use any of the functionality provided by the scoop
hardware. Remove the unneeded header.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
GPIO Ports A, B, and F on the ep93xx provide interrupt capability. It
is possible to debounce the input signal on these ports when interrupts
are enabled.
Support for this debounce capability was provided with an ep93xx internal
function. Now that gpiolib knows about gpio debounce, use the gpiolib
method and do not export the internal function.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
The EP93xx C and D GPIO ports are multiplexed with the Keypad Interface
peripheral. At power-up they default into non-GPIO mode with the Key
Matrix controller enabled so these ports are unusable for GPIO. Note
that the Keypad Interface peripheral is only available in the EP9307,
EP9312, and EP9315 processor variants.
The keypad support will clear the DeviceConfig bits appropriately to
enable the Keypad Interface when the driver is loaded. And, when the
driver is unloaded it will set the bits to return the ports to GPIO mode.
To make these ports available for GPIO after power-up on all EP93xx
processor variants, set the KEYS and GONK bits in the DeviceConfig
register.
Similarly, the E, G, and H ports are multiplexed with the IDE Interface
peripheral. At power-up these also default into non-GPIO mode. Note
that the IDE peripheral is only available in the EP9312 and EP9315
processor variants.
Since an IDE driver is not even available in mainline, set the EONIDE,
GONIDE, and HONIDE bits in the DeviceConfig register so that these
ports will be available for GPIO use after power-up.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
Remove the MTD!=n dependency since that is handled by drivers/mtd/Kconfig.
Simplify the dependency checks for mtd/chips by using if/endif blocks. Remove
all default n since that is the Kconfig default.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
Cleanup the Kconfig for UBI by using menuconfig to enable/disable the entire
driver. Remove the dependency checks for MTD_UBI and MTD_UBI_DEBUG by
wrapping the options in if/endif blocks and remove any redundant checks.
Remove all default n since that is the Kconfig default. Change menu "Additional
UBI debugging messages" into a comment to remove one menu level.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
In sd_store_cache_type the symbol 'len' is declared twice. Remove the
second declaration to quiet the following sparse warning.
warning: symbol 'len' shadows an earlier one
In sd_probe the variable 'index' is declared as a u32. This variable is
used in a call to ida_get_new which is expecting an int *. Make the
variable an int to quiet the following sparse warning.
warning: incorrect type in argument 2 (different signedness)
There are 4 symbols in the file that are not exported and produce
the following sparse warnings.
warning: symbol 'sd_cdb_cache' was not declared. Should it be static?
warning: symbol 'sd_cdb_pool' was not declared. Should it be static?
warning: symbol 'sd_read_protection_type' was not declared. Should it be static?
warning: symbol 'sd_read_app_tag_own' was not declared. Should it be static?
Make them static to quiet the warnings.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: James E.J. Bottomley <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
The functions adjust_4MB and allocate_buffers are only called locally in
dt3155_isr.c and should be static.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The module_init() and module_exit() functions should be static and marked
with __init and __exit.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Instead of passing the minor number and having to look up the fbuffer, just
pass the fbuffer directly to the buffer management code.
Also, to make the code more consistent, change the push_empty() call so
that the fbuffer is passed as the first parameter.
Prototype the printques routine to avoid having to declare it as extern.
Cleanup some of the comments in dt3155_isr.h.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Now that dt3155_drv.c is not dependent on the global symbol
dt3155_fbuffer[], declared in dt3155_isr.c, remove it.
This also fixes many of the coding style problems in dt3155_isr.c.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the remaining global 32-bit and 8-bit i2c registers. Create a
local variable of the correct type where they are needed.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
All of the board 32-bit registers and 8-bit i2c registers are either read before
writing to them or they are just written to with a new value. There is no reason
to keep a 'local' copy of any of them.
As a first step to removing them, get rid of all the ones that are not used in
the driver.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Where used, dereference the global symbol dt3155_status[] as a local
pointer. This improves the readability of the code and reduces the
overall length of some of the really long lines.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The global symbol dt3155_fbuffer[], declared in dt3155_isr.c, is really
just a pointer to dt3155_status[].fbuffer. To improve readability, make
some of the really long lines shorter, and make the buffer access more
consistent, use &dt3155_status[].fbuffer to access the buffer structure.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The macros ReadMReg and WriteMReg are really just private versions of
the kernel's readl and writel functions. Use the kernel's functions
instead. And since ioremap returns a (void __iomem *) not a (u8 *),
change all the uses of dt3155_lbase to reflect this.
While here, make dt3155_lbase static since it is only used in the
dt3155_drv.c file. Also, remove the global variable dt3155_bbase
since it is not used anywhere in the code.
Where is makes sense, create a local 'mmio' variable instead of using
dt3155_lbase[minor] to make the code more readable.
This change also affects the {Read|Write}I2C functions so they are
also modified as needed.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the DT_3155_{SUCCESS/FAILURE} errno defines and use the
kernel provided ones.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This fixes the different address spaces noise when copying data to/from
user space to kernel space.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The ep93xx core helper function ep93xx_devcfg_set_clear should mask the
clear_bits before setting the new set_bits in case the clear_bits are a
mask value that also includes the set_bits.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
Create a core.c __init function to handle the physmap flash
registration for all the ep93xx platforms. Also, modify all
the ep93xx platforms to use this new function.
This simplifies all the ep93xx platform init code and reduces
the size of the kernel when including multiple ep93xx boards.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Acked-by: Martin Guy <[email protected]>
Acked-by: Hubert Feurstein <[email protected]>
Signed-off-by: Russell King <[email protected]>
Add the platform registration for the ep93xx backlight driver that
is now merged.
Since the pwm BRIGHT signal only functions if the video system is
operating, register the backlight when the framebuffer device is
registered.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
The EP9307, EP9312, and EP9315 processors include a framebuffer
peripheral. This peripheral has a dedicated pwm output called
BRIGHT that can be used to control the backlight on an LCD.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
Cleanup the "depends on" logic by wrapping the affected config options in
appropriate if/endif blocks.
Remove all the "default n" since that is the default default.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
Instead of individually creating and removing the sysfs device attribute
files, wrap them in an attribute_group and use
sysfs_{create/remove}_group.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Use the VENDOR/DEVICE ids provided in pci_ids.h instead of creating
local ids of the same values.
Also, fix the following checkpatch.pl warnings:
WARNING: Use #include <linux/io.h> instead of <asm/io.h>
WARNING: unnecessary whitespace before a quoted newline
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
A number of files in drivers/spi fail checkincludes.pl due to the double
include of <linux/spi/spi_bitbang.h>.
The first include is needed to get the struct spi_bitbang definition and
the spi_bitbang_* function prototypes.
The second include happens after defining EXPAND_BITBANG_TXRX to get the
inlined bitbang_txrx_* utility functions.
The <linux/spi/spi_bitbang.h> header is also included by a number of other
spi drivers, as well as some arch/ code, in order to use struct spi_bitbang
and the associated functions.
To fix the double include, and remove any potential confusion about it, move
the inlined bitbang_txrx_* functions to a new private header in drivers/spi
and also remove the need to define EXPAND_BITBANG_TXRX.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
As warned by checkpatch.pl, <linux/io.h> should be used instead of
<asm/io.h>.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
The private_data member of struct file is a void *, there is no need
to cast it.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
void pointers do not need to be cast to other pointer types.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: NeilBrown <[email protected]>
The ARCH_REQUIRE_GPIOLIB config option will select GPIOLIB which
in turn will select GENERIC_GPIO. Because of this, there is no
reason to do the select GENERIC_GPIO in arch/arm/Kconfig for the
architectures that have ARCH_REQUIRE_GPIOLIB.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Russell King <[email protected]>
Some SPI masters (ep93xx) have limitations when using the SFRMOUT
signal for the spi device chip select. The SFRMOUT signal is
only asserted as long as the spi transmit fifo contains data. As
soon as the last bit is clocked into the receive fifo it gets
deasserted.
The functions sst25l_status and sst25l_match_device use the API
function spi_write_then_read to write a command to the flash then
read the response back. This API function creates a two part spi
message for the write then read. When this message is transferred
the SFRMOUT signal ends up getting deasserted after the command
phase. This causes the command to get aborted by the device so
the read phase returns invalid data.
By changing sst25l_status and sst25l_match_device to use a single
transfer synchronous message, the SFRMOUT signal stays asserted
during the entire message so the correct data always gets returned.
This change will have no effect on SPI masters which use a chip
select mechanism (GPIO's, etc.) which does stay asserted correctly.
As a bonus, the single transfer synchronous messages complete faster
than multi-part messages.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
The rtl8192e, rtl8192su, and rtl8192u drivers all share what appears
to be a common private ieee80211 stack. Various patches have been
applied to the rtl819x_Qos.h file for some of the drivers but not the
others.
This sync's the files based on all the applied patches.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The rtl8192e, rtl8192su, and rtl8192u drivers all share what appears
to be a common private ieee80211 stack. Various patches have been
applied to the rtl819x_TSProc.c file for some of the drivers but not
the others.
This sync's the files based on all the applied patches.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The wait_ibsyclr function is supposed to return the status of the I2C
cycle. Currently it will always return FALSE because the IIC_CSR2
register is not re-read in order to update the cached register value.
This results in the NEW_CYCLE bit still being 1.
The current code actually works correctly only because the return
value of {Read|Write}I2C is not checked in the driver.
Fix wait_ibsyclr by actually reading the IIC_CSR2 register to get the
updated status. While here, change the return type to be an actual
errno instead of the private TRUE/FALSE define and remove the now
obvious comments about the return value.
Also, remove the local variable 'writestat' in WriteI2C and just
return the result of wait_ibsyclr.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Scott Smedley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
All the SST25L series flash parts have uniform erase sectors. Remove
the extra MTD_DEBUG_LEVEL2 messages showing the eraseregions info
since they could never be shown.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
According to the header file, dt3155_io.h, the 50/60 Hz configuration
is controlled by a bit in the I2C CSR2 register (bit 2). The function
dt3155_init_isr actually reads the I2C CONFIG register into the global
I2C_CSR union variable then modifies the bit. It then does a write
to the I2C CONFIG register with the global I2C_CONFIG union variable
which is not even set with a value anywhere in the driver.
My guess is 50Hz operation doesn't even work as-is.
Fix this by actually reading and writing the correct register with
the correct value.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Simon Horman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
If the default Kconfig values are used with MTD_PHYSMAP_COMPAT you end
up with a resource where end < start. This causes __request_resource to
return a conflict which then returns an -EBUSY error code. The current
physmap.c code just assumes that the platfom_device_register will always
succeed.
Catch this failure during the physmap_init and propogate the error.
Signed-off-by: H Hartley Sweeten <[email protected]>
Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
A number of the peripherals for the ep93xx are registered at
startup using platform_data that is passed from the board init
code to the core code. This data is then copied to a local
static variable in the core code. Since the data is copied,
the original data can be marked as __initdata and discarded
after startup is complete.
This adds the __initdata tag to all the appropriate data in
the various ep93xx board init's. Specifically, all the
struct ep93xx_eth_data, struct ep93xxfb_mach_info, and
struct i2c_gpio_platform_data.
Also, document the various registration functions and note
what data should be marked as __initdata.
While here, also cleanup a couple over zealous whitespace tabs.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
The functions ep93xx_gpio_update_int_params and ep93xx_gpio_int_mask
are not exported and should be static. This was overlooked when
moving the code from core.c.
Also, change a comment to better indicate what the code is for.
Signed-off-by: H Hartley Sweeten <[email protected]>
Acked-by: Ryan Mallon <[email protected]>
Signed-off-by: Russell King <[email protected]>
In an embedded system the matrix_keypad driver might be used to
interface with an external control panel and not an actual keyboard.
On the control panel some of the keys could be used to turn on/off
various functions. If key autorepeat is enabled this causes the
function to quickly toggle between the on and off states and makes
operation difficult.
Add an option in the platform-specific data to disable the key
autorepeat.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
Remove the need for "depends on LEDS_CLASS" by wrapping the affected
config options in an if/endif block. Similar for "depends on LEDS_TRIGGERS".
LEDS_COBALT_RAQ still has a "depends on LEDS_CLASS=y" since it cannot
be selected to build as a module.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
As each led device gets registered a kernel message gets printed. In
an embedded system with a number of leds this can produce a lot
of output that just looks like noise.
Change the message type to KERN_DEBUG since it might be useful
in the dmesg output "after" booting.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
As noted by checkpatch.pl, __func__ should be used instead of gcc
specific __FUNCTION__.
Signed-off-by: H Hartley Sweeten <[email protected]>
Signed-off-by: James Morris <[email protected]>
The requested memory region is smaller than the actual ioremap().
Use resource_size() to get the correct size.
Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ben Dooks <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>