Commit Graph

270 Commits

Author SHA1 Message Date
Jesper Nilsson
a34d24425e CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup.
Changes as suggested by Andrew Morton, plus general cleanup to
ease later consolidation of driver into machine common driver.

- Correct parameter type of gpio_write to const char __user *
- Remove volatile from the arrays of machine dependent registers, use
  readl and writel to access them instead.
- Remove useless casts of void.
- Use spin_lock_irqsave for locking.
- Break gpio_write into smaller sub-functions.
- Remove useless breaks after returns.
- Don't perform any change in IO_CFG_WRITE_MODE if values are invalid.
  (previously values were set and then set to zero)
- Change cast for copy_to_user to (void __user *)
- Make file_operations gpio_fops static and const.
- Make setget_output static. (However, it's still inline since the CRIS
  architecture is still not SMP, which makes the function small enough
  to inline)
2008-02-08 16:28:36 +01:00
Jesper Nilsson
7800029df3 CRIS: Add new timerfd syscall entries. 2008-02-08 11:54:30 +01:00
Jesper Nilsson
eb090473a7 CRIS v32: Correct spelling of bandwidth in function name. 2008-02-08 11:16:46 +01:00
Jesper Nilsson
9f68ff9ee9 CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS.
Clean up issues noticed by Andrew Morton:

- Use a combined struct for allocating the mtd_info and nand_chip structs
  instead of using anonymous memory as the example in
  Documentation/DocBook/mtdnand.tmpl
- Use kzalloc instead of using kmalloc/memset(0)
- Make crisv32_device_ready static.
2008-02-08 11:16:45 +01:00
Jesper Nilsson
ad433f2368 CRIS v10: Cleanup of drivers/gpio.c
- Change parameters of gpio_write (const char * buf -> const char __user *buf)
- Don't initialize static variables to zero.
- Remove useless casts from void.
- Change name of interrupt routine (gpio_pa_interrupt -> gpio_interrupt)
- Use kzmalloc instead of allocating memory and zeroing it manually.
- Correct casts for copy_to_user and copy_from_user to (void __user *)
- Make file_operations gpio_fops static.
- Make ioif_watcher static, not used outside this file.
2008-02-08 11:16:45 +01:00
Jesper Nilsson
79e04fdbb3 CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file. 2008-02-08 11:08:06 +01:00
Jesper Nilsson
c261038108 CRIS: Drop regs parameter from call to profile_tick in kernel/time.c 2008-02-08 11:06:40 +01:00
Jesper Nilsson
ac17e82a87 CRIS v32: Fix minor formatting issue in mach-a3/io.c 2008-02-08 11:06:39 +01:00
Jesper Nilsson
f8e47cb058 CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S 2008-02-08 11:06:39 +01:00
Jesper Nilsson
a87434b04f CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory. 2008-02-08 11:06:39 +01:00
Jesper Nilsson
daa00b9caf CRIS: Add sched_clock to kernel/time.c
Also, clean up some whitespace errors.
2008-02-08 11:06:37 +01:00
Jesper Nilsson
60dead5a8c CRIS: Register cpus in kernel/setup.c
Also, fix some white space errors, and constify cpuinfo_op.
2008-02-08 11:06:37 +01:00
Jesper Nilsson
3ae8d8baab CRIS: Remove include of linux/init.h, not needed anymore. 2008-02-08 11:06:37 +01:00
Jesper Nilsson
6e0b688034 CRIS: Remove CONFIG_NO_IOMEM from ARTPEC-3 default config. 2008-02-08 11:06:37 +01:00
Jesper Nilsson
1b7e7da364 CRIS: Remove useless CVS log from kernel/ptrace.c
Also, fix some whitespace errors.
2008-02-08 11:06:37 +01:00
Jesper Nilsson
f32bb79c97 CRIS: Remove useless CVS id and log from kernel/process.c 2008-02-08 11:06:37 +01:00
Jesper Nilsson
08cfeacb6b CRIS: Add configuration possibility for using kmalloc for modules.
Using kmalloc instead of vmalloc solves the stability problems
experienced by some 100 LX products.
2008-02-08 11:06:36 +01:00
Jesper Nilsson
b4945a90d0 CRIS: Remove CONFIG_NO_IOMEM from default configs. 2008-02-08 11:06:36 +01:00
Jesper Nilsson
baa69b121a CRIS v32: Fix startup oops and replace hardcoded pagesize in vmlinux.lds.S
- Move alignment of init data to page size outside define CONFIG_BLK_DEV_INITRD
  This avoids oops due to memory on the same page as init data being freed.
- Change hardcoded page size to use macro from asm/page.h
- Add reserved memory via CONFIG_ETRAX_VMEM_SIZE.
- Use available defines for TEXT_TEXT and INITCALLS.
- Cleanup whitespace.
2008-02-08 11:06:36 +01:00
Jesper Nilsson
52d82ef12a CRIS v32: Avoid work when switching between tasks with shared memory descriptors in mm/tlb.c
There is no need to do all this work if they share memory descriptors.
Also, fix some minor whitespace and long lines.
2008-02-08 11:06:36 +01:00
Jesper Nilsson
3d44305abe CRIS v32: Add workaround for MMU hardware bug for ETRAX FS in mm/mmu.S 2008-02-08 11:06:36 +01:00
Jesper Nilsson
108ecfbc31 CRIS v32: Fix bug in internal memory allocator mm/intmem.c
- Fix bug where allocated memory didn't account for alignment.
- Add support for ARTPEC-3
- Add module_init for crisv32_intmem_init.
2008-02-08 11:06:36 +01:00
Jesper Nilsson
0836c6d26f CRIS v32: Change name of simulator config to CONFIG_ETRAX_VCS_SIM in mm/init.c
- Remove unneded code for ETRAX FS and ARTPEC-3
2008-02-08 11:06:36 +01:00
Jesper Nilsson
ea0af95b1c CRIS v32: Change lib/spinlock.S to use byte operations instead of dwords. 2008-02-08 11:06:36 +01:00
Jesper Nilsson
ea402db97f CRIS v32: Move hw_settings.S to machine specific directories for ETRAX FS and ARTPEC-3 2008-02-08 11:06:35 +01:00
Jesper Nilsson
41f9412b20 CRIS v32: Update lib/checksum.S and lib/checksumcopy.S
- Slight tweaks, use $acr + addoq to propagate carry across the loop boundary.
- Better use of latency cycles.
- Remove duplicate folding of carry, it is not needed.
2008-02-08 11:06:35 +01:00
Jesper Nilsson
7674464cb3 CRIS v32: Add lib/delay to build. 2008-02-08 11:06:35 +01:00
Jesper Nilsson
48c87a4483 CRIS v32: Add precise delay loops for ETRAX FS and ARTPEC-3.
Implements cris_delay10ns.
2008-02-08 11:06:35 +01:00
Jesper Nilsson
a474de0a02 CRIS v32: Update vcs_hook.c for ETRAX FS.
- Clean up some formatting and whitespace.
2008-02-08 11:06:35 +01:00
Jesper Nilsson
09160d7cc3 CRIS v32: Move vcs_hook to machine specific directory.
These files are different for ETRAX FS and ARTPEC-3.
2008-02-08 11:06:35 +01:00
Jesper Nilsson
538380da1a CRIS v32: Update kernel/smp.c for CRIS v32.
- Change include paths to machine specific headers (asm/arch/hwregs -> hwregs)
- Add cpu_possible_map as cpumask_t and export it.
- Drop struct pt_regs parameter from crisv32_ipi_interrupt.
- timer -> timer0
2008-02-08 11:06:35 +01:00
Jesper Nilsson
574852a2a5 CRIS v32: Update signal handling in kernel/signal.c
- do_signal now returns void, and does not have the previous signal set
  as a parameter.
- Remove sys_rt_sigsuspend, we can use the common one instead.
- Change sys_sigsuspend to be more like x86, don't call do_signal here.
- handle_signal, setup_frame and setup_rt_frame now return -EFAULT
  if we've delivered a segfault, which is used by callers to perform
  necessary cleanup.
- Break long lines, correct whitespace and formatting errors.
2008-02-08 11:06:35 +01:00
Jesper Nilsson
14e61bebb4 CRIS v32: Update boot/rescue/rescue.ld
- Update to work for ETRAX FS and ARTPEC-3
2008-02-08 11:06:35 +01:00
Jesper Nilsson
45a4127c10 CRIS v10: Update drivers/gpio.c, fix locking and general improvements.
- Change all spin_lock/local_irq_save to spin_lock_irqsave.
- Change multiple returns in functions where we have a lock to goto out.
- Correct number of arguments to gpio_poll_timer_interrupt, gpio_pa_interrupt.
- Break out gpio_write logic to smaller functions to make it readable.
- In setget_input and setget_output, avoid extra if-indent level.
- Change name LED_* -> CRIS_LED_* to avoid name clash.
- Don't use braces around single statement ifs.
- Fix whitespace errors.
- Remove useless CVS id and log.
2008-02-08 11:06:34 +01:00
Jesper Nilsson
f2bbc96a40 CRIS v32: Change names of config variable and register field for data available.
- CONFIG_ETRAXFS_SIM -> CONFIG_ETRAX_VCS_SIM
- ser_intr_mask.data_avail -> ser_intr_mask.dav
2008-02-08 11:06:34 +01:00
Jesper Nilsson
f64dd2191d CRIS v32: Change debug and formatting in kernel/fasttimer.c
- Don't use SANITYCHECK(x) as a macro, test FAST_TIMER_SANITY_CHECKS with
  ifdef. This makes it possible for automatic indent etc to work.
- Correct some whitespace errors.
- Don't initialize static variable.
2008-02-08 11:06:34 +01:00
Jesper Nilsson
43e6bd6aa8 CRIS v32: Update kernel/crisksyms.c
- Include pinmux.h from machine specific directory.
- Add some more symbols: crisv32_pinmux_alloc, crisv32_pinmux_dealloc_fixed,
  crisv32_io_get_name and crisv32_io_get
2008-02-08 11:06:34 +01:00
Jesper Nilsson
cbca663488 CRIS v32: Remove config ifdef around init function for drivers/sync_serial.c
The init function should be defined always.
2008-02-08 11:06:34 +01:00
Jesper Nilsson
5adb5c873f CRIS v32: Remove drivers/gpio.c, now exists as machine specific file. 2008-02-08 11:06:34 +01:00
Jesper Nilsson
7edf744053 CRIS v32: Update driver for RTC chip pcf8563.
- Moved all calls to register_chrdev to a function called by module_init.
- Added mutex locking.
- Added better error handling at start up.
- Added BIN_TO_BCD of the month value before it is saved to the RTC.
- Corrected the month value returned by pcf8563_readreg.
- Cache the voltage low value at driver init so the battery status
  information does not get 'accidentally' cleared when setting the RTC time.
- Removed obsolete CONFIG_ETRAX_RTC_READONLY
- Voltage low ioctl():s RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR
2008-02-08 11:06:34 +01:00
Jesper Nilsson
d8ac17a0ee CRIS v32: Remove drivers/nandflash.h, now exists as machine specific file. 2008-02-08 11:06:34 +01:00
Jesper Nilsson
2c30da7175 CRIS v32: ETRAX FS Change name of LED macros in drivers/mach-fs/gpio.c to avoid collision. 2008-02-08 11:06:33 +01:00
Jesper Nilsson
cacc0cc83f CRIS v32: Change name of LED macros in drivers/mach-a3/gpio.c to avoid collision. 2008-02-08 11:06:33 +01:00
Jesper Nilsson
935a847b98 CRIS v32: Change include path for hwregs in drivers/iop_fw_load.c
Also, remove useless CVS id tag.
2008-02-08 11:06:33 +01:00
Jesper Nilsson
635c45c195 CRIS v32: Rewrite of stream co-processor driver for ETRAX FS and ARTPEC-3
- Workaround for cachebug (Guinness TR 106).
- Add ARTPEC-3 support.
2008-02-08 11:06:33 +01:00
Jesper Nilsson
a77dba6a4d CRIS v32: Replace build flags in boot/rescue/Makefile
- Change AFLAGS to asflags-y, LDFLAGS to ldflags-y and EXTRA_CFLAGS
  to ccflags-y. We only need the flags in this Makefile.
2008-02-08 11:06:33 +01:00
Jesper Nilsson
111e3b1aba CRIS v32: Replace build flags in boot/compressed/Makefile
- Change AFLAGS to asflags-y, LDFLAGS to ldflags-y and KBUILD_CFLAGS
  to ccflags-y. We only need the flags in this Makefile.
2008-02-08 11:06:33 +01:00
Jesper Nilsson
8f2972529f CRIS v10: Change name of low voltage read and set macros. 2008-02-08 11:06:33 +01:00
Jesper Nilsson
a9d13fad8c CRIS v32: Remove useless CVS id tag from boot/compressed/README 2008-02-08 11:06:33 +01:00
Jesper Nilsson
9bf79539ed CRIS v10: Remove duplicated folding of carry from lib/checksum.S, it is not needed.
Also, remove useless CVS id tag.
2008-02-08 11:06:32 +01:00