Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7affca35 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
  arm: fix up some samsung merge sysdev conversion problems
  firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
  Drivers:hv: Fix a bug in vmbus_driver_unregister()
  driver core: remove __must_check from device_create_file
  debugfs: add missing #ifdef HAS_IOMEM
  arm: time.h: remove device.h #include
  driver-core: remove sysdev.h usage.
  clockevents: remove sysdev.h
  arm: convert sysdev_class to a regular subsystem
  arm: leds: convert sysdev_class to a regular subsystem
  kobject: remove kset_find_obj_hinted()
  m86k: gpio - convert sysdev_class to a regular subsystem
  mips: txx9_sram - convert sysdev_class to a regular subsystem
  mips: 7segled - convert sysdev_class to a regular subsystem
  sh: dma - convert sysdev_class to a regular subsystem
  sh: intc - convert sysdev_class to a regular subsystem
  power: suspend - convert sysdev_class to a regular subsystem
  power: qe_ic - convert sysdev_class to a regular subsystem
  power: cmm - convert sysdev_class to a regular subsystem
  s390: time - convert sysdev_class to a regular subsystem
  ...

Fix up conflicts with 'struct sysdev' removal from various platform
drivers that got changed:
 - arch/arm/mach-exynos/cpu.c
 - arch/arm/mach-exynos/irq-eint.c
 - arch/arm/mach-s3c64xx/common.c
 - arch/arm/mach-s3c64xx/cpu.c
 - arch/arm/mach-s5p64x0/cpu.c
 - arch/arm/mach-s5pv210/common.c
 - arch/arm/plat-samsung/include/plat/cpu.h
 - arch/powerpc/kernel/sysfs.c
and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h
parents 356b9542 ff4b8a57
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -275,8 +275,8 @@ versions.
If no 2.6.x.y kernel is available, then the highest numbered 2.6.x
If no 2.6.x.y kernel is available, then the highest numbered 2.6.x
kernel is the current stable kernel.
kernel is the current stable kernel.


2.6.x.y are maintained by the "stable" team <stable@kernel.org>, and are
2.6.x.y are maintained by the "stable" team <stable@vger.kernel.org>, and
released as needs dictate.  The normal release period is approximately 
are released as needs dictate.  The normal release period is approximately
two weeks, but it can be longer if there are no pressing problems.  A
two weeks, but it can be longer if there are no pressing problems.  A
security-related problem, instead, can cause a release to happen almost
security-related problem, instead, can cause a release to happen almost
instantly.
instantly.
+4 −4
Original line number Original line Diff line number Diff line
@@ -271,10 +271,10 @@ copies should go to:
   the linux-kernel list.
   the linux-kernel list.


 - If you are fixing a bug, think about whether the fix should go into the
 - If you are fixing a bug, think about whether the fix should go into the
   next stable update.  If so, stable@kernel.org should get a copy of the
   next stable update.  If so, stable@vger.kernel.org should get a copy of
   patch.  Also add a "Cc: stable@kernel.org" to the tags within the patch
   the patch.  Also add a "Cc: stable@vger.kernel.org" to the tags within
   itself; that will cause the stable team to get a notification when your
   the patch itself; that will cause the stable team to get a notification
   fix goes into the mainline.
   when your fix goes into the mainline.


When selecting recipients for a patch, it is good to have an idea of who
When selecting recipients for a patch, it is good to have an idea of who
you think will eventually accept the patch and get it merged.  While it
you think will eventually accept the patch and get it merged.  While it
+1 −0
Original line number Original line Diff line number Diff line
@@ -262,6 +262,7 @@ IOMAP
  devm_ioremap()
  devm_ioremap()
  devm_ioremap_nocache()
  devm_ioremap_nocache()
  devm_iounmap()
  devm_iounmap()
  devm_request_and_ioremap() : checks resource, requests region, ioremaps
  pcim_iomap()
  pcim_iomap()
  pcim_iounmap()
  pcim_iounmap()
  pcim_iomap_table()	: array of mapped addresses indexed by BAR
  pcim_iomap_table()	: array of mapped addresses indexed by BAR
+31 −1
Original line number Original line Diff line number Diff line
@@ -97,7 +97,8 @@ A read on the resulting file will yield either Y (for non-zero values) or
N, followed by a newline.  If written to, it will accept either upper- or
N, followed by a newline.  If written to, it will accept either upper- or
lower-case values, or 1 or 0.  Any other input will be silently ignored.
lower-case values, or 1 or 0.  Any other input will be silently ignored.


Finally, a block of arbitrary binary data can be exported with:
Another option is exporting a block of arbitrary binary data, with
this structure and function:


    struct debugfs_blob_wrapper {
    struct debugfs_blob_wrapper {
	void *data;
	void *data;
@@ -115,6 +116,35 @@ can be used to export binary information, but there does not appear to be
any code which does so in the mainline.  Note that all files created with
any code which does so in the mainline.  Note that all files created with
debugfs_create_blob() are read-only.
debugfs_create_blob() are read-only.


If you want to dump a block of registers (something that happens quite
often during development, even if little such code reaches mainline.
Debugfs offers two functions: one to make a registers-only file, and
another to insert a register block in the middle of another sequential
file.

    struct debugfs_reg32 {
	char *name;
	unsigned long offset;
    };

    struct debugfs_regset32 {
	struct debugfs_reg32 *regs;
	int nregs;
	void __iomem *base;
    };

    struct dentry *debugfs_create_regset32(const char *name, mode_t mode,
				     struct dentry *parent,
				     struct debugfs_regset32 *regset);

    int debugfs_print_regs32(struct seq_file *s, struct debugfs_reg32 *regs,
			 int nregs, void __iomem *base, char *prefix);

The "base" argument may be 0, but you may want to build the reg32 array
using __stringify, and a number of register names (macros) are actually
byte offsets over a base for the register block.


There are a couple of other directory-oriented helper functions:
There are a couple of other directory-oriented helper functions:


    struct dentry *debugfs_rename(struct dentry *old_dir, 
    struct dentry *debugfs_rename(struct dentry *old_dir, 
+1 −1
Original line number Original line Diff line number Diff line
@@ -6259,7 +6259,7 @@ F: arch/alpha/kernel/srm_env.c


STABLE BRANCH
STABLE BRANCH
M:	Greg Kroah-Hartman <greg@kroah.com>
M:	Greg Kroah-Hartman <greg@kroah.com>
L:	stable@kernel.org
L:	stable@vger.kernel.org
S:	Maintained
S:	Maintained


STAGING SUBSYSTEM
STAGING SUBSYSTEM
Loading