Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 189583
b: refs/heads/master
c: 6948ec7
h: refs/heads/master
i:
  189581: 40c58c2
  189579: 1e6ee16
  189575: db39ae4
  189567: 42eb74e
v: v3
  • Loading branch information
Linus Torvalds committed Apr 7, 2010
1 parent 391e173 commit 2279397
Show file tree
Hide file tree
Showing 36 changed files with 171 additions and 132 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: 18e5b539b451158be7aae6c390a20f0d3e5b9213
refs/heads/master: 6948ec70355ae6cf6082519e3d76b280373dade1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

What is imacfb?
What is efifb?
===============

This is a generic EFI platform driver for Intel based Apple computers.
Imacfb is only for EFI booted Intel Macs.
efifb is only for EFI booted Intel Macs.

Supported Hardware
==================
Expand All @@ -16,16 +16,16 @@ MacMini
How to use it?
==============

Imacfb does not have any kind of autodetection of your machine.
efifb does not have any kind of autodetection of your machine.
You have to add the following kernel parameters in your elilo.conf:
Macbook :
video=imacfb:macbook
video=efifb:macbook
MacMini :
video=imacfb:mini
video=efifb:mini
Macbook Pro 15", iMac 17" :
video=imacfb:i17
video=efifb:i17
Macbook Pro 17", iMac 20" :
video=imacfb:i20
video=efifb:i20

--
Edgar Hucek <gimli@dark-green.com>
6 changes: 3 additions & 3 deletions trunk/arch/frv/include/asm/segment.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ typedef struct {

#define MAKE_MM_SEG(s) ((mm_segment_t) { (s) })

#define KERNEL_DS MAKE_MM_SEG(0xdfffffffUL)

#ifdef CONFIG_MMU
#define USER_DS MAKE_MM_SEG(TASK_SIZE - 1)
#define KERNEL_DS MAKE_MM_SEG(0xdfffffffUL)
#else
#define USER_DS KERNEL_DS
#define USER_DS MAKE_MM_SEG(memory_end)
#define KERNEL_DS MAKE_MM_SEG(0xe0000000UL)
#endif

#define get_ds() (KERNEL_DS)
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/frv/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
#define VERIFY_READ 0
#define VERIFY_WRITE 1

#define __addr_ok(addr) ((unsigned long)(addr) < get_addr_limit())

/*
* check that a range of addresses falls within the current address limit
*/
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -3341,6 +3341,7 @@ static irqreturn_t do_cciss_intr(int irq, void *dev_id)
printk(KERN_WARNING
"cciss: controller cciss%d failed, stopping.\n",
h->ctlr);
spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags);
fail_all_cmds(h->ctlr);
return IRQ_HANDLED;
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/char/amiserial.c
Original file line number Diff line number Diff line change
Expand Up @@ -2021,8 +2021,6 @@ static int __init rs_init(void)
state->baud_base = amiga_colorclock;
state->xmit_fifo_size = 1;

local_irq_save(flags);

/* set ISRs, and then disable the rx interrupts */
error = request_irq(IRQ_AMIGA_TBE, ser_tx_int, 0, "serial TX", state);
if (error)
Expand All @@ -2033,6 +2031,8 @@ static int __init rs_init(void)
if (error)
goto fail_free_irq;

local_irq_save(flags);

/* turn off Rx and Tx interrupts */
custom.intena = IF_RBF | IF_TBE;
mb();
Expand Down
10 changes: 5 additions & 5 deletions trunk/drivers/char/mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ int __weak phys_mem_access_prot_allowed(struct file *file,
* outside of main memory.
*
*/
#ifdef pgprot_noncached
static int uncached_access(struct file *file, unsigned long addr)
{
#if defined(CONFIG_IA64)
Expand All @@ -251,6 +252,7 @@ static int uncached_access(struct file *file, unsigned long addr)
return addr >= __pa(high_memory);
#endif
}
#endif

static pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
unsigned long size, pgprot_t vma_prot)
Expand Down Expand Up @@ -710,11 +712,6 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
switch (orig) {
case SEEK_CUR:
offset += file->f_pos;
if ((unsigned long long)offset <
(unsigned long long)file->f_pos) {
ret = -EOVERFLOW;
break;
}
case SEEK_SET:
/* to avoid userland mistaking f_pos=-9 as -EBADF=-9 */
if ((unsigned long long)offset >= ~0xFFFULL) {
Expand Down Expand Up @@ -908,6 +905,9 @@ static int __init chr_dev_init(void)
printk("unable to get major %d for memory devs\n", MEM_MAJOR);

mem_class = class_create(THIS_MODULE, "mem");
if (IS_ERR(mem_class))
return PTR_ERR(mem_class);

mem_class->devnode = mem_devnode;
for (minor = 1; minor < ARRAY_SIZE(devlist); minor++) {
if (!devlist[minor].name)
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/char/mxser.c
Original file line number Diff line number Diff line change
Expand Up @@ -1768,7 +1768,7 @@ static int mxser_ioctl(struct tty_struct *tty, struct file *file,
int len, lsr;

len = mxser_chars_in_buffer(tty);
spin_lock(&info->slock);
spin_lock_irq(&info->slock);
lsr = inb(info->ioaddr + UART_LSR) & UART_LSR_THRE;
spin_unlock_irq(&info->slock);
len += (lsr ? 0 : 1);
Expand All @@ -1778,12 +1778,12 @@ static int mxser_ioctl(struct tty_struct *tty, struct file *file,
case MOXA_ASPP_MON: {
int mcr, status;

spin_lock(&info->slock);
spin_lock_irq(&info->slock);
status = mxser_get_msr(info->ioaddr, 1, tty->index);
mxser_check_modem_status(tty, info, status);

mcr = inb(info->ioaddr + UART_MCR);
spin_unlock(&info->slock);
spin_unlock_irq(&info->slock);

if (mcr & MOXA_MUST_MCR_XON_FLAG)
info->mon_data.hold_reason &= ~NPPI_NOTIFY_XOFFHOLD;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/char/raw.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ static const struct file_operations raw_fops = {
.aio_read = generic_file_aio_read,
.write = do_sync_write,
.aio_write = blkdev_aio_write,
.fsync = blkdev_fsync,
.open = raw_open,
.release= raw_release,
.ioctl = raw_ioctl,
Expand Down
12 changes: 8 additions & 4 deletions trunk/drivers/gpio/timbgpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ static int timbgpio_irq_type(unsigned irq, unsigned trigger)
unsigned long flags;
u32 lvr, flr, bflr = 0;
u32 ver;
int ret = 0;

if (offset < 0 || offset > tgpio->gpio.ngpio)
return -EINVAL;
Expand All @@ -154,8 +155,10 @@ static int timbgpio_irq_type(unsigned irq, unsigned trigger)
}

if ((trigger & IRQ_TYPE_EDGE_BOTH) == IRQ_TYPE_EDGE_BOTH) {
if (ver < 3)
return -EINVAL;
if (ver < 3) {
ret = -EINVAL;
goto out;
}
else {
flr |= 1 << offset;
bflr |= 1 << offset;
Expand All @@ -175,9 +178,10 @@ static int timbgpio_irq_type(unsigned irq, unsigned trigger)
iowrite32(bflr, tgpio->membase + TGPIO_BFLR);

iowrite32(1 << offset, tgpio->membase + TGPIO_ICR);
spin_unlock_irqrestore(&tgpio->lock, flags);

return 0;
out:
spin_unlock_irqrestore(&tgpio->lock, flags);
return ret;
}

static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/macintosh/windfarm_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ int wf_register_control(struct wf_control *new_ct)
kref_init(&new_ct->ref);
list_add(&new_ct->link, &wf_controls);

sysfs_attr_init(&new_ct->attr.attr);
new_ct->attr.attr.name = new_ct->name;
new_ct->attr.attr.mode = 0644;
new_ct->attr.show = wf_show_control;
Expand Down
8 changes: 8 additions & 0 deletions trunk/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -423,10 +423,12 @@ static void pvr2_sysfs_add_debugifc(struct pvr2_sysfs *sfp)

dip = kzalloc(sizeof(*dip),GFP_KERNEL);
if (!dip) return;
sysfs_attr_init(&dip->attr_debugcmd.attr);
dip->attr_debugcmd.attr.name = "debugcmd";
dip->attr_debugcmd.attr.mode = S_IRUGO|S_IWUSR|S_IWGRP;
dip->attr_debugcmd.show = debugcmd_show;
dip->attr_debugcmd.store = debugcmd_store;
sysfs_attr_init(&dip->attr_debuginfo.attr);
dip->attr_debuginfo.attr.name = "debuginfo";
dip->attr_debuginfo.attr.mode = S_IRUGO;
dip->attr_debuginfo.show = debuginfo_show;
Expand Down Expand Up @@ -644,6 +646,7 @@ static void class_dev_create(struct pvr2_sysfs *sfp,
return;
}

sysfs_attr_init(&sfp->attr_v4l_minor_number.attr);
sfp->attr_v4l_minor_number.attr.name = "v4l_minor_number";
sfp->attr_v4l_minor_number.attr.mode = S_IRUGO;
sfp->attr_v4l_minor_number.show = v4l_minor_number_show;
Expand All @@ -658,6 +661,7 @@ static void class_dev_create(struct pvr2_sysfs *sfp,
sfp->v4l_minor_number_created_ok = !0;
}

sysfs_attr_init(&sfp->attr_v4l_radio_minor_number.attr);
sfp->attr_v4l_radio_minor_number.attr.name = "v4l_radio_minor_number";
sfp->attr_v4l_radio_minor_number.attr.mode = S_IRUGO;
sfp->attr_v4l_radio_minor_number.show = v4l_radio_minor_number_show;
Expand All @@ -672,6 +676,7 @@ static void class_dev_create(struct pvr2_sysfs *sfp,
sfp->v4l_radio_minor_number_created_ok = !0;
}

sysfs_attr_init(&sfp->attr_unit_number.attr);
sfp->attr_unit_number.attr.name = "unit_number";
sfp->attr_unit_number.attr.mode = S_IRUGO;
sfp->attr_unit_number.show = unit_number_show;
Expand All @@ -685,6 +690,7 @@ static void class_dev_create(struct pvr2_sysfs *sfp,
sfp->unit_number_created_ok = !0;
}

sysfs_attr_init(&sfp->attr_bus_info.attr);
sfp->attr_bus_info.attr.name = "bus_info_str";
sfp->attr_bus_info.attr.mode = S_IRUGO;
sfp->attr_bus_info.show = bus_info_show;
Expand All @@ -699,6 +705,7 @@ static void class_dev_create(struct pvr2_sysfs *sfp,
sfp->bus_info_created_ok = !0;
}

sysfs_attr_init(&sfp->attr_hdw_name.attr);
sfp->attr_hdw_name.attr.name = "device_hardware_type";
sfp->attr_hdw_name.attr.mode = S_IRUGO;
sfp->attr_hdw_name.show = hdw_name_show;
Expand All @@ -713,6 +720,7 @@ static void class_dev_create(struct pvr2_sysfs *sfp,
sfp->hdw_name_created_ok = !0;
}

sysfs_attr_init(&sfp->attr_hdw_desc.attr);
sfp->attr_hdw_desc.attr.name = "device_hardware_description";
sfp->attr_hdw_desc.attr.mode = S_IRUGO;
sfp->attr_hdw_desc.show = hdw_desc_show;
Expand Down
9 changes: 2 additions & 7 deletions trunk/drivers/mmc/host/omap_hsmmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1179,15 +1179,10 @@ static void omap_hsmmc_detect(struct work_struct *work)
carddetect = -ENOSYS;
}

if (carddetect) {
if (carddetect)
mmc_detect_change(host->mmc, (HZ * 200) / 1000);
} else {
mmc_host_enable(host->mmc);
omap_hsmmc_reset_controller_fsm(host, SRD);
mmc_host_lazy_disable(host->mmc);

else
mmc_detect_change(host->mmc, (HZ * 50) / 1000);
}
}

/*
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/platform/x86/intel_menlow.c
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,7 @@ static int intel_menlow_add_one_attribute(char *name, int mode, void *show,
if (!attr)
return -ENOMEM;

sysfs_attr_init(&attr->attr.attr); /* That is consistent naming :D */
attr->attr.attr.name = name;
attr->attr.attr.mode = mode;
attr->attr.show = show;
Expand Down
26 changes: 13 additions & 13 deletions trunk/drivers/rtc/rtc-mxc.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,21 +384,26 @@ static int __init mxc_rtc_probe(struct platform_device *pdev)
struct rtc_device *rtc;
struct rtc_plat_data *pdata = NULL;
u32 reg;
int ret, rate;
unsigned long rate;
int ret;

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
return -ENODEV;

pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
if (!pdata)
return -ENOMEM;

pdata->ioaddr = ioremap(res->start, resource_size(res));
if (!devm_request_mem_region(&pdev->dev, res->start,
resource_size(res), pdev->name))
return -EBUSY;

pdata->ioaddr = devm_ioremap(&pdev->dev, res->start,
resource_size(res));

clk = clk_get(&pdev->dev, "ckil");
if (IS_ERR(clk)) {
iounmap(pdata->ioaddr);
ret = PTR_ERR(clk);
goto exit_free_pdata;
}
Expand All @@ -413,8 +418,7 @@ static int __init mxc_rtc_probe(struct platform_device *pdev)
else if (rate == 38400)
reg = RTC_INPUT_CLK_38400HZ;
else {
dev_err(&pdev->dev, "rtc clock is not valid (%lu)\n",
clk_get_rate(clk));
dev_err(&pdev->dev, "rtc clock is not valid (%lu)\n", rate);
ret = -EINVAL;
goto exit_free_pdata;
}
Expand Down Expand Up @@ -450,19 +454,19 @@ static int __init mxc_rtc_probe(struct platform_device *pdev)
pdata->irq = platform_get_irq(pdev, 0);

if (pdata->irq >= 0 &&
request_irq(pdata->irq, mxc_rtc_interrupt, IRQF_SHARED,
pdev->name, pdev) < 0) {
devm_request_irq(&pdev->dev, pdata->irq, mxc_rtc_interrupt,
IRQF_SHARED, pdev->name, pdev) < 0) {
dev_warn(&pdev->dev, "interrupt not available.\n");
pdata->irq = -1;
}

return 0;

exit_put_clk:
clk_disable(pdata->clk);
clk_put(pdata->clk);

exit_free_pdata:
kfree(pdata);

return ret;
}
Expand All @@ -473,12 +477,8 @@ static int __exit mxc_rtc_remove(struct platform_device *pdev)

rtc_device_unregister(pdata->rtc);

if (pdata->irq >= 0)
free_irq(pdata->irq, pdev);

clk_disable(pdata->clk);
clk_put(pdata->clk);
kfree(pdata);
platform_set_drvdata(pdev, NULL);

return 0;
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/thermal/thermal_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
tz->temp_input.attr.attr.name = tz->temp_input.name;
tz->temp_input.attr.attr.mode = 0444;
tz->temp_input.attr.show = temp_input_show;
sysfs_attr_init(&tz->temp_input.attr.attr);
result = device_create_file(hwmon->device, &tz->temp_input.attr);
if (result)
goto unregister_hwmon_device;
Expand All @@ -518,6 +519,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
tz->temp_crit.attr.attr.name = tz->temp_crit.name;
tz->temp_crit.attr.attr.mode = 0444;
tz->temp_crit.attr.show = temp_crit_show;
sysfs_attr_init(&tz->temp_crit.attr.attr);
result = device_create_file(hwmon->device,
&tz->temp_crit.attr);
if (result)
Expand Down Expand Up @@ -726,6 +728,7 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
goto release_idr;

sprintf(dev->attr_name, "cdev%d_trip_point", dev->id);
sysfs_attr_init(&dev->attr.attr);
dev->attr.attr.name = dev->attr_name;
dev->attr.attr.mode = 0444;
dev->attr.show = thermal_cooling_device_trip_point_show;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/video/fsl-diu-fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,7 @@ static int __devinit fsl_diu_probe(struct of_device *ofdev,
goto error;
}

sysfs_attr_init(&machine_data->dev_attr.attr);
machine_data->dev_attr.attr.name = "monitor";
machine_data->dev_attr.attr.mode = S_IRUGO|S_IWUSR;
machine_data->dev_attr.show = show_monitor;
Expand Down
Loading

0 comments on commit 2279397

Please sign in to comment.