Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 25969
b: refs/heads/master
c: 038e5e2
h: refs/heads/master
i:
  25967: f747a31
v: v3
  • Loading branch information
Linus Torvalds committed Apr 19, 2006
1 parent e8fe8ac commit 37ddc3c
Show file tree
Hide file tree
Showing 18 changed files with 74 additions and 52 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: d34cb28a3718a7055ed14e2ec058fe3e4574af63
refs/heads/master: 038e5e2bf2819058fb1b4b52b583bef9ad063356
2 changes: 1 addition & 1 deletion trunk/Documentation/cpu-freq/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ the CPUFreq Mailing list:
* http://lists.linux.org.uk/mailman/listinfo/cpufreq

Clock and voltage scaling for the SA-1100:
* http://www.lart.tudelft.nl/projects/scaling
* http://www.lartmaker.nl/projects/scaling
12 changes: 12 additions & 0 deletions trunk/arch/arm/common/scoop.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,18 @@
#include <asm/io.h>
#include <asm/hardware/scoop.h>

/* PCMCIA to Scoop linkage
There is no easy way to link multiple scoop devices into one
single entity for the pxa2xx_pcmcia device so this structure
is used which is setup by the platform code.
This file is never modular so this symbol is always
accessile to the board support files.
*/
struct scoop_pcmcia_config *platform_scoop_config;
EXPORT_SYMBOL(platform_scoop_config);

#define SCOOP_REG(d,adr) (*(volatile unsigned short*)(d +(adr)))

struct scoop_dev {
Expand Down
9 changes: 3 additions & 6 deletions trunk/arch/arm/mach-pxa/corgi_ssp.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,9 @@ static int __init corgi_ssp_probe(struct platform_device *dev)
int ret;

/* Chip Select - Disable All */
GPDR(ssp_machinfo->cs_lcdcon) |= GPIO_bit(ssp_machinfo->cs_lcdcon); /* output */
GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */
GPDR(ssp_machinfo->cs_max1111) |= GPIO_bit(ssp_machinfo->cs_max1111); /* output */
GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/
GPDR(ssp_machinfo->cs_ads7846) |= GPIO_bit(ssp_machinfo->cs_ads7846); /* output */
GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846); /* High - Disable ADS7846*/
pxa_gpio_mode(ssp_machinfo->cs_lcdcon | GPIO_OUT | GPIO_DFLT_HIGH);
pxa_gpio_mode(ssp_machinfo->cs_max1111 | GPIO_OUT | GPIO_DFLT_HIGH);
pxa_gpio_mode(ssp_machinfo->cs_ads7846 | GPIO_OUT | GPIO_DFLT_HIGH);

ret = ssp_init(&corgi_ssp_dev, ssp_machinfo->port, 0);

Expand Down
10 changes: 5 additions & 5 deletions trunk/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
Original file line number Diff line number Diff line change
Expand Up @@ -905,14 +905,17 @@ static int powernowk8_target(struct cpufreq_policy *pol, unsigned targfreq, unsi
{
cpumask_t oldmask = CPU_MASK_ALL;
struct powernow_k8_data *data = powernow_data[pol->cpu];
u32 checkfid = data->currfid;
u32 checkvid = data->currvid;
u32 checkfid;
u32 checkvid;
unsigned int newstate;
int ret = -EIO;

if (!data)
return -EINVAL;

checkfid = data->currfid;
checkvid = data->currvid;

/* only run on specific CPU from here on */
oldmask = current->cpus_allowed;
set_cpus_allowed(current, cpumask_of_cpu(pol->cpu));
Expand Down Expand Up @@ -1106,9 +1109,6 @@ static unsigned int powernowk8_get (unsigned int cpu)

data = powernow_data[first_cpu(cpu_core_map[cpu])];

if (!data)
return -EINVAL;

if (!data)
return -EINVAL;

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ config HUGETLB_PAGE_SIZE_512K
bool "512K"

config HUGETLB_PAGE_SIZE_64K
depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64K
depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64KB
bool "64K"

endchoice
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/cpufreq/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ config CPU_FREQ_GOV_USERSPACE
Enable this cpufreq governor when you either want to set the
CPU frequency manually or when an userspace program shall
be able to set the CPU dynamically, like on LART
<http://www.lart.tudelft.nl/>
<http://www.lartmaker.nl/>.

For details, take a look at <file:Documentation/cpu-freq/>.

Expand Down
25 changes: 18 additions & 7 deletions trunk/drivers/cpufreq/cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,6 @@ static int cpufreq_parse_governor (char *str_governor, unsigned int *policy,
}
return -EINVAL;
}
EXPORT_SYMBOL_GPL(cpufreq_parse_governor);


/* drivers/base/cpu.c */
Expand All @@ -346,6 +345,8 @@ show_one(scaling_min_freq, min);
show_one(scaling_max_freq, max);
show_one(scaling_cur_freq, cur);

static int __cpufreq_set_policy(struct cpufreq_policy *data, struct cpufreq_policy *policy);

/**
* cpufreq_per_cpu_attr_write() / store_##file_name() - sysfs write access
*/
Expand All @@ -364,7 +365,10 @@ static ssize_t store_##file_name \
if (ret != 1) \
return -EINVAL; \
\
ret = cpufreq_set_policy(&new_policy); \
mutex_lock(&policy->lock); \
ret = __cpufreq_set_policy(policy, &new_policy); \
policy->user_policy.object = policy->object; \
mutex_unlock(&policy->lock); \
\
return ret ? ret : count; \
}
Expand Down Expand Up @@ -420,7 +424,15 @@ static ssize_t store_scaling_governor (struct cpufreq_policy * policy,
if (cpufreq_parse_governor(str_governor, &new_policy.policy, &new_policy.governor))
return -EINVAL;

ret = cpufreq_set_policy(&new_policy);
/* Do not use cpufreq_set_policy here or the user_policy.max
will be wrongly overridden */
mutex_lock(&policy->lock);
ret = __cpufreq_set_policy(policy, &new_policy);

policy->user_policy.policy = policy->policy;
policy->user_policy.governor = policy->governor;
mutex_unlock(&policy->lock);

return ret ? ret : count;
}

Expand Down Expand Up @@ -685,7 +697,7 @@ static int cpufreq_add_dev (struct sys_device * sys_dev)
if (!cpu_online(j))
continue;

dprintk("CPU already managed, adding link\n");
dprintk("CPU %u already managed, adding link\n", j);
cpufreq_cpu_get(cpu);
cpu_sys_dev = get_cpu_sysdev(j);
sysfs_create_link(&cpu_sys_dev->kobj, &policy->kobj,
Expand All @@ -695,9 +707,8 @@ static int cpufreq_add_dev (struct sys_device * sys_dev)
policy->governor = NULL; /* to assure that the starting sequence is
* run in cpufreq_set_policy */
mutex_unlock(&policy->lock);

/* set default policy */

ret = cpufreq_set_policy(&new_policy);
if (ret) {
dprintk("setting policy failed\n");
Expand All @@ -707,7 +718,7 @@ static int cpufreq_add_dev (struct sys_device * sys_dev)
module_put(cpufreq_driver->owner);
dprintk("initialization complete\n");
cpufreq_debug_enable_ratelimit();

return 0;


Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/cpufreq/cpufreq_conservative.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,7 @@ static ssize_t store_up_threshold(struct cpufreq_policy *unused,
ret = sscanf (buf, "%u", &input);

mutex_lock(&dbs_mutex);
if (ret != 1 || input > 100 || input < 0 ||
input <= dbs_tuners_ins.down_threshold) {
if (ret != 1 || input > 100 || input <= dbs_tuners_ins.down_threshold) {
mutex_unlock(&dbs_mutex);
return -EINVAL;
}
Expand All @@ -196,8 +195,7 @@ static ssize_t store_down_threshold(struct cpufreq_policy *unused,
ret = sscanf (buf, "%u", &input);

mutex_lock(&dbs_mutex);
if (ret != 1 || input > 100 || input < 0 ||
input >= dbs_tuners_ins.up_threshold) {
if (ret != 1 || input > 100 || input >= dbs_tuners_ins.up_threshold) {
mutex_unlock(&dbs_mutex);
return -EINVAL;
}
Expand Down
8 changes: 0 additions & 8 deletions trunk/drivers/pcmcia/pxa2xx_sharpsl.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,6 @@
#include "soc_common.h"

#define NO_KEEP_VS 0x0001

/* PCMCIA to Scoop linkage
There is no easy way to link multiple scoop devices into one
single entity for the pxa2xx_pcmcia device so this structure
is used which is setup by the platform code
*/
struct scoop_pcmcia_config *platform_scoop_config;
#define SCOOP_DEV platform_scoop_config->devs

static void sharpsl_pcmcia_init_reset(struct soc_pcmcia_socket *skt)
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/net/ipv6.h
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ extern int ip6_ra_control(struct sock *sk, int sel,
void (*destructor)(struct sock *));


extern int ipv6_parse_hopopts(struct sk_buff *skb, int);
extern int ipv6_parse_hopopts(struct sk_buff *skb);

extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt);
extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt,
Expand Down
5 changes: 3 additions & 2 deletions trunk/net/core/filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/timer.h>
#include <asm/system.h>
#include <asm/uaccess.h>
#include <asm/unaligned.h>
#include <linux/filter.h>

/* No hurry in this branch */
Expand Down Expand Up @@ -177,7 +178,7 @@ unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int
load_w:
ptr = load_pointer(skb, k, 4, &tmp);
if (ptr != NULL) {
A = ntohl(*(u32 *)ptr);
A = ntohl(get_unaligned((u32 *)ptr));
continue;
}
break;
Expand All @@ -186,7 +187,7 @@ unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int
load_h:
ptr = load_pointer(skb, k, 2, &tmp);
if (ptr != NULL) {
A = ntohs(*(u16 *)ptr);
A = ntohs(get_unaligned((u16 *)ptr));
continue;
}
break;
Expand Down
7 changes: 2 additions & 5 deletions trunk/net/ipv4/ipcomp.c
Original file line number Diff line number Diff line change
Expand Up @@ -290,11 +290,8 @@ static void ipcomp_free_scratches(void)
if (!scratches)
return;

for_each_possible_cpu(i) {
void *scratch = *per_cpu_ptr(scratches, i);
if (scratch)
vfree(scratch);
}
for_each_possible_cpu(i)
vfree(*per_cpu_ptr(scratches, i));

free_percpu(scratches);
}
Expand Down
4 changes: 3 additions & 1 deletion trunk/net/ipv4/tcp_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,9 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss
buff = sk_stream_alloc_skb(sk, nsize, GFP_ATOMIC);
if (buff == NULL)
return -ENOMEM; /* We'll just try again later. */
sk_charge_skb(sk, buff);

buff->truesize = skb->len - len;
skb->truesize -= buff->truesize;

/* Correct the sequence numbers. */
TCP_SKB_CB(buff)->seq = TCP_SKB_CB(skb)->seq + len;
Expand Down
16 changes: 14 additions & 2 deletions trunk/net/ipv6/exthdrs.c
Original file line number Diff line number Diff line change
Expand Up @@ -485,15 +485,27 @@ static struct tlvtype_proc tlvprochopopt_lst[] = {
{ -1, }
};

int ipv6_parse_hopopts(struct sk_buff *skb, int nhoff)
int ipv6_parse_hopopts(struct sk_buff *skb)
{
struct inet6_skb_parm *opt = IP6CB(skb);

/*
* skb->nh.raw is equal to skb->data, and
* skb->h.raw - skb->nh.raw is always equal to
* sizeof(struct ipv6hdr) by definition of
* hop-by-hop options.
*/
if (!pskb_may_pull(skb, sizeof(struct ipv6hdr) + 8) ||
!pskb_may_pull(skb, sizeof(struct ipv6hdr) + ((skb->h.raw[1] + 1) << 3))) {
kfree_skb(skb);
return -1;
}

opt->hop = sizeof(struct ipv6hdr);
if (ip6_parse_tlv(tlvprochopopt_lst, skb)) {
skb->h.raw += (skb->h.raw[1]+1)<<3;
opt->nhoff = sizeof(struct ipv6hdr);
return sizeof(struct ipv6hdr);
return 1;
}
return -1;
}
Expand Down
3 changes: 1 addition & 2 deletions trunk/net/ipv6/ip6_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,10 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt
}

if (hdr->nexthdr == NEXTHDR_HOP) {
if (ipv6_parse_hopopts(skb, IP6CB(skb)->nhoff) < 0) {
if (ipv6_parse_hopopts(skb) < 0) {
IP6_INC_STATS_BH(IPSTATS_MIB_INHDRERRORS);
return 0;
}
hdr = skb->nh.ipv6h;
}

return NF_HOOK(PF_INET6,NF_IP6_PRE_ROUTING, skb, dev, NULL, ip6_rcv_finish);
Expand Down
8 changes: 5 additions & 3 deletions trunk/net/ipv6/xfrm6_policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,16 +191,18 @@ __xfrm6_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
static inline void
_decode_session6(struct sk_buff *skb, struct flowi *fl)
{
u16 offset = sizeof(struct ipv6hdr);
u16 offset = skb->h.raw - skb->nh.raw;
struct ipv6hdr *hdr = skb->nh.ipv6h;
struct ipv6_opt_hdr *exthdr = (struct ipv6_opt_hdr*)(skb->nh.raw + offset);
u8 nexthdr = skb->nh.ipv6h->nexthdr;
struct ipv6_opt_hdr *exthdr;
u8 nexthdr = skb->nh.raw[IP6CB(skb)->nhoff];

memset(fl, 0, sizeof(struct flowi));
ipv6_addr_copy(&fl->fl6_dst, &hdr->daddr);
ipv6_addr_copy(&fl->fl6_src, &hdr->saddr);

while (pskb_may_pull(skb, skb->nh.raw + offset + 1 - skb->data)) {
exthdr = (struct ipv6_opt_hdr*)(skb->nh.raw + offset);

switch (nexthdr) {
case NEXTHDR_ROUTING:
case NEXTHDR_HOP:
Expand Down
3 changes: 1 addition & 2 deletions trunk/net/tipc/name_distr.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,7 @@ static void node_is_down(struct publication *publ)
publ->node, publ->ref, publ->key);
assert(p == publ);
write_unlock_bh(&tipc_nametbl_lock);
if (publ)
kfree(publ);
kfree(publ);
}

/**
Expand Down

0 comments on commit 37ddc3c

Please sign in to comment.