Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 28602
b: refs/heads/master
c: f522d23
h: refs/heads/master
v: v3
  • Loading branch information
Evgeniy Polyakov authored and Greg Kroah-Hartman committed Jun 22, 2006
1 parent 9421e66 commit 84ef32a
Show file tree
Hide file tree
Showing 332 changed files with 4,999 additions and 13,513 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6c763eb9ead86c612492b59287b36c0dcf7d09b1
refs/heads/master: f522d2396138e68bcb9cc5650aa368a81d7f7ff0
39 changes: 0 additions & 39 deletions trunk/Documentation/keys.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ This document has the following sections:
- Key overview
- Key service overview
- Key access permissions
- SELinux support
- New procfs files
- Userspace system call interface
- Kernel services
Expand Down Expand Up @@ -233,34 +232,6 @@ For changing the ownership, group ID or permissions mask, being the owner of
the key or having the sysadmin capability is sufficient.


===============
SELINUX SUPPORT
===============

The security class "key" has been added to SELinux so that mandatory access
controls can be applied to keys created within various contexts. This support
is preliminary, and is likely to change quite significantly in the near future.
Currently, all of the basic permissions explained above are provided in SELinux
as well; SE Linux is simply invoked after all basic permission checks have been
performed.

Each key is labeled with the same context as the task to which it belongs.
Typically, this is the same task that was running when the key was created.
The default keyrings are handled differently, but in a way that is very
intuitive:

(*) The user and user session keyrings that are created when the user logs in
are currently labeled with the context of the login manager.

(*) The keyrings associated with new threads are each labeled with the context
of their associated thread, and both session and process keyrings are
handled similarly.

Note, however, that the default keyrings associated with the root user are
labeled with the default kernel context, since they are created early in the
boot process, before root has a chance to log in.


================
NEW PROCFS FILES
================
Expand Down Expand Up @@ -964,16 +935,6 @@ The structure has a number of fields, some of which are mandatory:
It is not safe to sleep in this method; the caller may hold spinlocks.


(*) void (*revoke)(struct key *key);

This method is optional. It is called to discard part of the payload
data upon a key being revoked. The caller will have the key semaphore
write-locked.

It is safe to sleep in this method, though care should be taken to avoid
a deadlock against the key semaphore.


(*) void (*destroy)(struct key *key);

This method is optional. It is called to discard the payload data on a key
Expand Down
14 changes: 3 additions & 11 deletions trunk/Documentation/pci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,17 +213,9 @@ have been remapped by the kernel.

See Documentation/IO-mapping.txt for how to access device memory.

The device driver needs to call pci_request_region() to make sure
no other device is already using the same resource. The driver is expected
to determine MMIO and IO Port resource availability _before_ calling
pci_enable_device(). Conversely, drivers should call pci_release_region()
_after_ calling pci_disable_device(). The idea is to prevent two devices
colliding on the same address range.

Generic flavors of pci_request_region() are request_mem_region()
(for MMIO ranges) and request_region() (for IO Port ranges).
Use these for address resources that are not described by "normal" PCI
interfaces (e.g. BAR).
You still need to call request_region() for I/O regions and
request_mem_region() for memory regions to make sure nobody else is using the
same device.

All interrupt handlers should be registered with SA_SHIRQ and use the devid
to map IRQs to devices (remember that all PCI interrupts are shared).
Expand Down
19 changes: 9 additions & 10 deletions trunk/Documentation/sound/alsa/ALSA-Configuration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -366,9 +366,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

Module for C-Media CMI8338 and 8738 PCI sound cards.

mpu_port - 0x300,0x310,0x320,0x330 = legacy port,
1 = integrated PCI port,
0 = disable (default)
mpu_port - 0x300,0x310,0x320,0x330, 0 = disable (default)
fm_port - 0x388 (default), 0 = disable (default)
soft_ac3 - Software-conversion of raw SPDIF packets (model 033 only)
(default = 1)
Expand Down Expand Up @@ -470,7 +468,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

Module for multifunction CS5535 companion PCI device

The power-management is supported.
This module supports multiple cards.

Module snd-dt019x
-----------------
Expand Down Expand Up @@ -709,10 +707,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
Module snd-hda-intel
--------------------

Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8),
ATI SB450, SB600, RS600,
VIA VT8251/VT8237A,
SIS966, ULI M5461
Module for Intel HD Audio (ICH6, ICH6M, ICH7), ATI SB450,
VIA VT8251/VT8237A

model - force the model name
position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
Expand Down Expand Up @@ -782,7 +778,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
AD1981
basic 3-jack (default)
hp HP nx6320
thinkpad Lenovo Thinkpad T60/X60/Z60

AD1986A
6stack 6-jack, separate surrounds (default)
Expand Down Expand Up @@ -1638,7 +1633,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

About capture IBL, see the description of snd-vx222 module.

Note: snd-vxp440 driver is merged to snd-vxpocket driver since
Note: the driver is build only when CONFIG_ISA is set.

Note2: snd-vxp440 driver is merged to snd-vxpocket driver since
ALSA 1.0.10.

The power-management is supported.
Expand All @@ -1665,6 +1662,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

Module for Sound Core PDAudioCF sound card.

Note: the driver is build only when CONFIG_ISA is set.

The power-management is supported.


Expand Down
50 changes: 23 additions & 27 deletions trunk/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -4215,7 +4215,7 @@ struct _snd_pcm_runtime {
<programlisting>
<![CDATA[
struct snd_rawmidi *rmidi;
snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags,
snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, integrated,
irq, irq_flags, &rmidi);
]]>
</programlisting>
Expand All @@ -4242,36 +4242,15 @@ struct _snd_pcm_runtime {
</para>

<para>
The 5th argument is bitflags for additional information.
When the i/o port address above is a part of the PCI i/o
region, the MPU401 i/o port might have been already allocated
(reserved) by the driver itself. In such a case, pass a bit flag
<constant>MPU401_INFO_INTEGRATED</constant>,
(reserved) by the driver itself. In such a case, pass non-zero
to the 5th argument
(<parameter>integrated</parameter>). Otherwise, pass 0 to it,
and
the mpu401-uart layer will allocate the i/o ports by itself.
</para>

<para>
When the controller supports only the input or output MIDI stream,
pass <constant>MPU401_INFO_INPUT</constant> or
<constant>MPU401_INFO_OUTPUT</constant> bitflag, respectively.
Then the rawmidi instance is created as a single stream.
</para>

<para>
<constant>MPU401_INFO_MMIO</constant> bitflag is used to change
the access method to MMIO (via readb and writeb) instead of
iob and outb. In this case, you have to pass the iomapped address
to <function>snd_mpu401_uart_new()</function>.
</para>

<para>
When <constant>MPU401_INFO_TX_IRQ</constant> is set, the output
stream isn't checked in the default interrupt handler. The driver
needs to call <function>snd_mpu401_uart_interrupt_tx()</function>
by itself to start processing the output stream in irq handler.
</para>

<para>
Usually, the port address corresponds to the command port and
port + 1 corresponds to the data port. If not, you may change
Expand Down Expand Up @@ -5354,7 +5333,7 @@ struct _snd_pcm_runtime {
<informalexample>
<programlisting>
<![CDATA[
snd_info_set_text_ops(entry, chip, my_proc_read);
snd_info_set_text_ops(entry, chip, read_size, my_proc_read);
]]>
</programlisting>
</informalexample>
Expand Down Expand Up @@ -5415,12 +5394,29 @@ struct _snd_pcm_runtime {
<informalexample>
<programlisting>
<![CDATA[
entry->c.text.write_size = 256;
entry->c.text.write = my_proc_write;
]]>
</programlisting>
</informalexample>
</para>

<para>
The buffer size for read is set to 1024 implicitly by
<function>snd_info_set_text_ops()</function>. It should suffice
in most cases (the size will be aligned to
<constant>PAGE_SIZE</constant> anyway), but if you need to handle
very large text files, you can set it explicitly, too.

<informalexample>
<programlisting>
<![CDATA[
entry->c.text.read_size = 65536;
]]>
</programlisting>
</informalexample>
</para>

<para>
For the write callback, you can use
<function>snd_info_get_line()</function> to get a text line, and
Expand Down Expand Up @@ -5566,7 +5562,7 @@ struct _snd_pcm_runtime {
power status.</para></listitem>
<listitem><para>Call <function>snd_pcm_suspend_all()</function> to suspend the running PCM streams.</para></listitem>
<listitem><para>If AC97 codecs are used, call
<function>snd_ac97_suspend()</function> for each codec.</para></listitem>
<function>snd_ac97_resume()</function> for each codec.</para></listitem>
<listitem><para>Save the register values if necessary.</para></listitem>
<listitem><para>Stop the hardware if necessary.</para></listitem>
<listitem><para>Disable the PCI device by calling
Expand Down
18 changes: 15 additions & 3 deletions trunk/Documentation/w1/w1.generic
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,19 @@ When a w1 master driver registers with the w1 subsystem, the following occurs:

When a device is found on the bus, w1 core checks if driver for it's family is
loaded. If so, the family driver is attached to the slave.
If there is no driver for the family, a simple sysfs entry is created
for the slave device.
If there is no driver for the family, default one is assigned, which allows to perform
almost any kind of operations. Each logical operation is a transaction
in nature, which can contain several (two or one) low-level operations.
Let's see how one can read EEPROM context:
1. one must write control buffer, i.e. buffer containing command byte
and two byte address. At this step bus is reset and appropriate device
is selected using either W1_SKIP_ROM or W1_MATCH_ROM command.
Then provided control buffer is being written to the wire.
2. reading. This will issue reading eeprom response.

It is possible that between 1. and 2. w1 master thread will reset bus for searching
and slave device will be even removed, but in this case 0xff will
be read, since no device was selected.


W1 device families
Expand Down Expand Up @@ -89,4 +100,5 @@ driver - (standard) symlink to the w1 driver
name - the device name, usually the same as the directory name
w1_slave - (optional) a binary file whose meaning depends on the
family driver

rw - (optional) created for slave devices which do not have
appropriate family driver. Allows to read/write binary data.
2 changes: 0 additions & 2 deletions trunk/arch/i386/kernel/acpi/boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,6 @@ int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size)
if (mcfg->config[i].base_reserved) {
printk(KERN_ERR PREFIX
"MMCONFIG not in low 4GB of memory\n");
kfree(pci_mmcfg_config);
pci_mmcfg_config_num = 0;
return -ENODEV;
}
}
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/i386/pci/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)

void pcibios_disable_device (struct pci_dev *dev)
{
pcibios_disable_resources(dev);
if (pcibios_disable_irq)
pcibios_disable_irq(dev);
}
9 changes: 0 additions & 9 deletions trunk/arch/i386/pci/i386.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,15 +242,6 @@ int pcibios_enable_resources(struct pci_dev *dev, int mask)
return 0;
}

void pcibios_disable_resources(struct pci_dev *dev)
{
u16 cmd;

pci_read_config_word(dev, PCI_COMMAND, &cmd);
cmd &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY);
pci_write_config_word(dev, PCI_COMMAND, cmd);
}

/*
* If we set up a device for bus mastering, we need to check the latency
* timer as certain crappy BIOSes forget to set it properly.
Expand Down
9 changes: 3 additions & 6 deletions trunk/arch/i386/pci/mmconfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@
#include <asm/e820.h>
#include "pci.h"

/* aperture is up to 256MB but BIOS may reserve less */
#define MMCONFIG_APER_MIN (2 * 1024*1024)
#define MMCONFIG_APER_MAX (256 * 1024*1024)
#define MMCONFIG_APER_SIZE (256*1024*1024)

/* Assume systems with more busses have correct MCFG */
#define MAX_CHECK_BUS 16
Expand Down Expand Up @@ -199,10 +197,9 @@ void __init pci_mmcfg_init(void)
return;

if (!e820_all_mapped(pci_mmcfg_config[0].base_address,
pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN,
pci_mmcfg_config[0].base_address + MMCONFIG_APER_SIZE,
E820_RESERVED)) {
printk(KERN_ERR "PCI: BIOS Bug: MCFG area at %x is not E820-reserved\n",
pci_mmcfg_config[0].base_address);
printk(KERN_ERR "PCI: BIOS Bug: MCFG area is not E820-reserved\n");
printk(KERN_ERR "PCI: Not using MMCONFIG.\n");
return;
}
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/i386/pci/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ extern unsigned int pcibios_max_latency;

void pcibios_resource_survey(void);
int pcibios_enable_resources(struct pci_dev *, int);
void pcibios_disable_resources(struct pci_dev *);

/* pci-pc.c */

Expand Down
19 changes: 1 addition & 18 deletions trunk/arch/ia64/kernel/irq_ia64.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@

#define IRQ_DEBUG 0

/* These can be overridden in platform_irq_init */
int ia64_first_device_vector = IA64_DEF_FIRST_DEVICE_VECTOR;
int ia64_last_device_vector = IA64_DEF_LAST_DEVICE_VECTOR;

/* default base addr of IPI table */
void __iomem *ipi_base_addr = ((void __iomem *)
(__IA64_UNCACHED_OFFSET | IA64_IPI_DEFAULT_BASE_ADDR));
Expand All @@ -64,7 +60,7 @@ __u8 isa_irq_to_vector_map[16] = {
};
EXPORT_SYMBOL(isa_irq_to_vector_map);

static unsigned long ia64_vector_mask[BITS_TO_LONGS(IA64_MAX_DEVICE_VECTORS)];
static unsigned long ia64_vector_mask[BITS_TO_LONGS(IA64_NUM_DEVICE_VECTORS)];

int
assign_irq_vector (int irq)
Expand Down Expand Up @@ -93,19 +89,6 @@ free_irq_vector (int vector)
printk(KERN_WARNING "%s: double free!\n", __FUNCTION__);
}

int
reserve_irq_vector (int vector)
{
int pos;

if (vector < IA64_FIRST_DEVICE_VECTOR ||
vector > IA64_LAST_DEVICE_VECTOR)
return -EINVAL;

pos = vector - IA64_FIRST_DEVICE_VECTOR;
return test_and_set_bit(pos, ia64_vector_mask);
}

#ifdef CONFIG_SMP
# define IS_RESCHEDULE(vec) (vec == IA64_IPI_RESCHEDULE)
#else
Expand Down
9 changes: 8 additions & 1 deletion trunk/arch/ia64/sn/kernel/io_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ static int max_pcibus_number = 255; /* Default highest pci bus number */
*/

static dma_addr_t
sn_default_pci_map(struct pci_dev *pdev, unsigned long paddr, size_t size, int type)
sn_default_pci_map(struct pci_dev *pdev, unsigned long paddr, size_t size)
{
return 0;
}
Expand Down Expand Up @@ -457,6 +457,13 @@ void sn_pci_fixup_slot(struct pci_dev *dev)
pcidev_info->pdi_sn_irq_info = NULL;
kfree(sn_irq_info);
}

/*
* MSI currently not supported on altix. Remove this when
* the MSI abstraction patches are integrated into the kernel
* (sometime after 2.6.16 releases)
*/
dev->no_msi = 1;
}

/*
Expand Down
Loading

0 comments on commit 84ef32a

Please sign in to comment.